Alex's musings about .NET and other Microsoft technologies
Erich, for SQL server the same tool exists: it's called AdeptSql, there's a free trial available for download.
PingBack from http://www.chrisbellini.com/2006/07/05/i-wouldve-been-a-great-ninja/
I know I'm jumping in here a bit late but I thought I might add my opinion for the record :)
An exception should be thrown from any abstraction layer when the requested behavior of that abstraction layer could not be completed. For example, Calling FileSystem.OpenFile should throw a FileCouldNotBeFoundException if the requested file could not be found. In any given app, it could be a regular occurance (not exceptional) that a requested file is not found. For example, go to the File->Open in notepad and enter in a non-existing filename. Deep in the code for notepad, there could be a call to FileSystem.OpenFile, which in this case would throw a FileCouldNotBeFoundException. This would be caught in the appropriate abstraction layer (could be the GUI layer), where the error box gets sent to the user. It is also possible that there is some call to FileSystem.DoesFileExist(...). This should not throw an exception if the file could not be found because the DoesFileExist logic could be completed fine, and returns its value of false, no need for an exception.
So, my point is, you can't decide whether or not to throw an exception based on whether the situation is "exceptional" in the application. You should throw an exception if the requested logic could not be performed for any reason. At least, this is my guideline.
Great story! Just remember: when pounding a nail with a glass bottle, wear eye protection!
wd
PingBack from http://blogs.msdn.com/clauer/archive/2006/07/19/670975.aspx
Really funny! The guy shows a table but doesn't show where is the table coming from! Look at most of PHP websites, most of them crash very easily, Even the Zend website, It crashes so often and you see the php error page, but if you have used ASP.NET 2.0 you know that it got a wonderfull speed! Trust me. And something more, in a shared hosting system, can you manipulate php source codes and use your own php? Do not make me laugh! And is Oracle free? How much is a WINDOWS hosting more expensive than LINUX? Not that much for a shared hosting! And something more, why so many people are defending php and not so many people defent asp.net? I guess because most of asp.net users are enterprise developers and do not have enough time, trust me dudes!
I just stumbled upon this "non-blog" while searching for an SQL Agent tool for 2005 Express. Since most of the responses are rather old I was wondering what kind of progress you've made and if your Express Agent was available for use yet?
Thanks for posting this; it's clear, concise example of UDTs that makes a great response to why people should use them.
Hi! I'm very interested too.
A free program with that features would be very nice for all. Please update info.
Thank you
This is greate product.
I extend your product "Smart Paster 2005",to add [Paste As]-[XML Document Comment] function.
This function does:
* HTML encode
* Insert "///"(if VB, "'''")
source:
http://www.stbbs.net/~junichi/archive/smart-paster-2005-xmldoccomment-enhanced/SmartPaster2005-XMLDocComment-enhanced-src.zip
binary(installer):
http://www.stbbs.net/~junichi/archive/smart-paster-2005-xmldoccomment-enhanced/SmartPaster2005-XMLDocComment-enhanced.vsi
my company actually uses express for some of our smaller clients and this app would be an extraordinary help for our services... right now we are emulating an agent using sqlcmd and batch files but this would be stupendous. id like some info and possibly help out
But how can change it, say from char(1) to char(2)?
since you cannot drop it if it's already referenced.
The point of user-defined type is to keep inconsistency, now it canot be changed since it's defined.
Thanks for your help.
*pixellation
(apologies)
I found this interesting, But I am still confused as a beginner, which technology should I learn?
thanks
Very many thanks for a good work. Nice and useful. Like it!
Here an open-source solution:
http://www.codeproject.com/useritems/SQLAgent.asp
Oh, sure, as long as the back end is stable and robust, who gives a damn whether anyone except the programmer can actually use it? The interface should always be based on the fundamental and immovable assumptions of whatever genius built the database schema.
An interface anyone can use without at least one computer science degree is not only a sure sign that not enough 'design' went into the architecture, it's also downright dangerous! Hell, if anyone can use your corporate accounts software, anyone can screw up your corporate accounts.
This is a must-have for me with SQL Server Express. I'm glad someone is tackling this. Is the release version ready yet?
TIA, Kris.
@Alex,
I noticed that SQL Express has all the same tables and stored procedures for managing jobs, just nothing to actually run them.
For example I have a script that I wrote to create a couple of jobs via sp_add_job, sp_add_jobstep, sp_add_jobschedule etc. and maintenance plans via sp_add_maintenance_plan. Everything gets put into the appropriate SQL tables (sysjob*) in msdb as per normal just there isn't an agent to actually start execution. Is that where you will be storing the job details?
I could care less about pretty GUI's, I'm happy to write it all out in script. If you are close to a version 0.1 that runs, with limited features or GUI I think you should release it.
If you are still in need of assistance to help get it out the door let me know. I'm competent in C++ and SQL internals.
-Chris
Alex,
You know I am SO onboard with you on most topics, but on this you've really lost me. Do you never use the designer in VS.NET, or use a code generator such as Codesmith or MyGeneration to auto-generate repetiive plumbing?
I have been developing for 7 years. I almost always use Enterprise Manager for initial development. Its just much faster. If i'm making changes to an existing database, I'll use EM to script it out for me. Also, others mentioned tools like RedGate and AdeptSql to merge changes automatically. This saves a lot on development time. Its not that i can't write my own DDL, its just that it saves time not to.
Only when I'm doing some REALLY complicated schema migration do I script this all out by hand.
Craig
I entirely agree that only scalar values should be allowed in database columns. The trouble is that one person's "atom" is another's "bucket o' quarks with electrons in shells around it".
After all, if you look at them the right way, strings aren't really scalars -- they are arrays of characters. Even integers can be seen as arrays of digits. But obviously 1NF doesn't require decomposing these.
1) By UCS-2 you hopefully mean UTF-16, as UCS-2 is not capable of representing all Unicode values. Unfortunately, UTF-8 and UTF-16 don't sort the same way on a simple binary sort order. UTF-8 sorts according to the order of Unicode codepoints, but UTF-16 does not.
2) If talking about the past, it's fine to capture moments in time using a single time zone such as UTC and push off converting to local time to the interface layer. For future moments, that won't work: you need a local time and a place. Nobody knows what UTC instant corresponds to "midnight November 1, 2010 in New York", because Congress could change the time-zone rules or (more likely) the daylight-savings rules. It's happened before.
3) I correct you: you are wrong about complex numbers. You need 'em for anything concerned with electrical engineering, a perfectly fit subject for relational databases. And to their users, complex numbers are no more non-atomic than decimal fractions are.
1. You cannot sort any string using binary, and especially not unicode strings.
2. I agree, that is a hard problem.
3. I have to agree with you here.
Dude, if you think the only use of imaginary numbers is in solving differential equations, I think it is time to go back to uni and study some more maths.
Quite correct, dabookshah, if not very polite. I could well imagine wanting to store a bunch of complex Fourier components in a database. Logic would then suggest storing the amplitude and phase in two separate columns.
I've usually heard LOL refer to "Lots of Laughs", so even though LOLOLOLOL is RDS (Really Damn Stupid) it could still make sense as Lots Of Lots Of Lots of ... Laughs
Free Agent for SQL Server:
http://www.lazycoding.com/products.aspx
When I started using modems, BBS's, chats, Internet and IRC in 1994 and 1995, I was explained it was embarrassing to laugh out loud alone, so LOL was a warning to the typer that he has gone too far, because now the reader is laughing out loud, possibly embarrassing him/herself to family members or neighbors. I was explained LOL is Laughing Out Loud (too loud, alone, sitting on a computer).
We need to follow Disney's lead (http://play.toontown.com/playersguide/PGPage.php?pg=37) and defeat the evil cogs with lots of cream pie and even more gags.
Alex, I agree that programmers are required for a large portion of the custom apps that exist today in the enterprise. What we're targeting is a class of applications that have been resistant to the custom development process. These tend to be apps that can't tolerate the time and expense of custom app development. They are a myriad of less-complex applications and business processes that today are generally unautomated or at best handled by speadsheets or Filemaker or Access.
Our focus is business applications. The term 'Enterprise' means different things to different people. To some, it means large-scale complex applications. To others it simply describes the size of the business. We say that we are targeting small and medium size businesses and enterprise workgroups. I think the press sometime translates the term 'workgroups apps for enterprises' to 'enterprise apps'.
Enterprise _MANAGER_
For managing.
Not for development.
We've seen this kind of stuff come and go dozens of times. The only thing Coghead will ever succeed in doing is creating a niche market for programmers who have knowledge of Coghead.
Smart business people don't WANT to mess around with this stuff - that's the whole point. Someone will sell a detached executive on all the pretty flashing lights of this application and in the end the customer will STILL go out and pay the technology people to use the pretty new tool they just bought. Or worse yet, they'll pay the technology people to dig them out of the immense hole they dig for themselves trying to do something that is completely out of their element.
The customer will inevitably have it so hacked up and stretched beyond its operating limits that it would've been cheaper, easier, and more effective to just have a professional create precisely what the customer needed in the first place and move on with their business affairs.
It is indeed sad that our industry still has so many ignorant and/or arrogant people in it continually giving the industry a bad reputation to overcome. Programmers and even IT professionals in general just need to do their jobs and quit thinking they're so brilliant that they're going to single-handedly change the world with their eccentric ideas.
Alex's two second tutorial about 4GL, while lame and useless is a sharp contrast to what I read in Queue magazine (you can find it on slashdot as well) a few months ago authored (I think) by the same Greg Olsen you mentioned above.
Based on what I read, and what I see above, I'm guessing Greg knows, ummm, 20x more about this subject that Alex.
Another example of the "media" trying to take on a subject too complex for their own good perhaps?
Anyways - I checked the website and it does not look like Coghead is even available yet, so unless Alex has early access, how do you even have a basis for all of this? Did Business 2.0 decide to exclude you from the same article or something?
oh yeah, this tool is awesome. in vs 2005, works like a champ! SWEET!
-
jen
Have you checked out DabbleDB yet? I was pretty impressed at how they made a lot of the functionality of an RDBMS accessible to everyday schmoes and office workers. You still have the same problem of putting your data in a third parties hands, but the UI concepts they put forth in their application seem pretty solid.
I would be less afraid of a secretary/admin assistant designed DabbleDB than I would a secretary/AA designed Access database.
Graphical programming tools only really work for very specialized applications. The best example I can think of are 3D animation applications: your data is really well defined, everything is based on movement over a timeline, etc, the application is already visual.
The screenshot makes it look like a general programming language turned graphical, i.e., a programmer's flowchart. (if/then/etc.) These are unfortunately not that useful to untrained users, and limiting to programmers. Even really well-done graphical programming systems take expertise, but I'm skeptical that many companies will really understand that and take the time to train employees on the tool.
ROTFLOLSHIFTMSHS
Seriously though, they annoy me too as they are used to liberally to mean anythingf, and many of tmhe too extreme to apply usefully.
SQL Server CLR User Defined Types is Microsoft's attempt at supporting the new Object Relational Extensions of SQL3. However, I personally don't like the way M$ decided to implement this. Oracle has a much easier way of defining user defined types:
create type mytype as (
somenumber number,
somechar varchar2(50),
);
I don't have an opinion as to whether creating/using UDT's is a good idea tho...
I'm so glad across your blog post, I was in forum the other day, discussing the whole VB6 -> VB.NET, and this other bloke wasn't making much sense, and one thing he said was Modules are a Violation of OOP, which is a concept I really have had trouble coming to terms with, as in every other OOP book I have read they mention Modules.
The full forum thread can be found here
http://www.codeguru.com/forum/showthread.php?t=402024
R.E.S.P.E.C.T....
A friend of mine has an "Bed Head" and during my laughter he told me, that his barber calls it "pillow cut"!!!!!
thanks for your extraordinary hints... i am on my way to antialias some elder paintings of mine... looks fantastic so far...
Paint forever, powerapps for powerusers!
I think the reaction of this post is a similar one I hear from Linux fans. When someone views the world through a perspective where their focus and time are mostly consumed by running the environment they are a fan of (Linux, Rails, PHP, etc) - then they can't imagine a world where someone might want to use technology to achieve a goal that is only part of their day and need to leave time for their other duties such as running a business or being a doctor or writing a book.
Developers and hobbyist will always look at solutions such as Coghead and DabbleDB or Microsoft Office for that matter from a viewpoint that they are "expensive", "Untrustworthy" and "not under my control". But people who spend most of their day a few layers removed from coding or hardware tinkering are willing to sacrifice some money and some control to a trusted third party to recapture some of their time or better yet move initiatives forward much faster and in parallel with other initiatives.
Not everyone values their time at $0 and not everyone has lots of it to spare or a highly technical social group . For those people CogHead and DabbleDB are useful tools to let them play with different what-if scenarios quickly and at a low cost. It also lifts the burden of "simple" apps off of a developer and let's them concentrate on the really hard problems like generating pixel perfect PDF reports from these solutions or LDAP based integration of various solutions.
I think solutions like Coghead and DabbleDB will make interaction between non-programmers and programmers even better, giving each side a better respect for the intelligence and skills of the other. A user of these solutions will think twice before asking for help from a developer before thinking through their requirements because they would have experienced first hand the double and triple work that occurs when you don't think and plan things through in advance. They would have learned this from their time using Coghead or DabbleDB.
This thing looks awsom help to me
Its impossible to say wich language is better, its like about the most beutiful woman, the most beautiful is one near you :)
An anecdote comes to mind, from around 1980.
A friend went to a trade show where a salesman was showing off his new "natural language" database. "Just ask a question in English! This sample geographical database has all the rivers and mountains in the world."
My friend typed: "What are the tallest mountains in Africa and Europe?"
The computer replied: "There are no mountains in Africa and Europe."
Which was correct, technically, but not useful.
I think that the alalogy is a bit bleak. ;)
Often it's more in the line of:
"I am trying to hang a painting and thought that I would use a hair pin, as I have a lot of those. I tried to use a hammer to get it in, but that doesn't work at all. Now I have put the hair pin in a power drill, but the problem is that I have to use so much force to get the pin into the wall, and the hole is getting far bigger than the pin so it doesn't sit very well. What can I do so that I don't have to use so much force, and how can I make the hole smaller, so that the hair pin will fit?"
Of course the first replies comes with suggestions to try to sharpen the hair pin, and to use a different kind of power drill...
;)
Holy Crap... that's funny!
[The computer replied: "There are no mountains in Africa and Europe."]
Given that there are, in fact, mountains in Europe (the Alps?) illustrates exactly why these efforts have continually failed over 20 or more years of trying.
An anecdote of my own comes to mind. There is no problem with any weekend handyman trying to rebuild his automatic transmission if he really wants to try, but he better be prepared to accept the wasted time and inevitable expense when he finally realizes that he really does need a trained professional to complete the job accurately and correctly.
There is a reason the open market drives everything towards specialization. Business people conduct business. Programmers write programs. This is the most efficient use of both time and money. Trying to reverse the tide of the open market is just begging for failure.
Hi,
Just resolved an issue I had so I thought to post this to hopefully help others if need be;
I have my 'My Documents' target set to 'c:\me' and as such the installer installed the Addin to 'c:\me\Visual Studio 2005\Addins'. However, in order to get the addin to work I had to manually move it to 'c:\Documents And Settings\<user>\My Documents\Visual Studio 2005\Addins'.
Not sure if this is an installer problem, a Visual Studio problem, or a configuration problem. Works now though and is so time saving!! Good work and thank you.
@Buford: There are mountains in both Africa and Europe. The problem was the program did the intersection of the set of mountains in Europe with the set of mountains in Africa, which of course gives the empty set,
because "There are no mountains in Africa and Europe".
I'm glad that I've gotten the MVP for multiplayer notepad five years running. Great stuff.
Pixilation? This is related to pixies? Perhaps you mean pixelation, which relates to pixels.
Apparently so… Holy Crap: I'm an Official MVP for MS Paint
PingBack from http://hulk.osd.wednet.edu/~cherrykr/?p=1024
Get rid of Brewster
Rockstar is amazing. I could drink it all day. But I'd rather not die of heart attack and too many stimulants at once.
One or two every now and then is fine.
I love the taste.
If the "NERDS" candy was liquid and carbonated, it would be this drink.
PingBack from http://digged.wordpress.com/2006/11/11/holy-crap-im-an-official-mvp-for-ms-paint/
ur noob dude.. u dont know how to use teh paint. its not a tool its a weapon for your mind.. you should use the paint with your soul... ur noob dude.. ur a noob! mvp ah.. u suck!
You are a true artist!
I struggle with the words to describe how elated I am to be chosen for this award. Sure, I’ve worked...
Are you kidding? You sure do know how to make full use of MS Paint. I can't live with that. At least, if I have to, will get something like <a href="http://www.neohide.com">GIMP</a>, as substitute.
Is this a joke?
And Keith, I think you meant www.neohide.com
-=|Mgkwho
Bahahaha! I guess that's better than MVP for Microsoft Bob!
https://gettingreal.37signals.com/
I think 37 Signals is in agreement.
I think it's a fair assumption that people who are unable to express their requirements in a complete and consistent fashion when using their native language will not be able to create complete and consistent programs with any tool in the world. There is much more to software development than just knowing the programming language.
On the other hand, I have little doubt that tools that make developement easy (for a limited range of applications) can easily succeed in the market when contrasted to the multi-tier, multi-framework overkill that some people create even for the most simple tasks.
>A geospatial location is described with Latitude and Longitude. Not Lati-longi-tude. These are two separate attributes and putting them in the same column violates First Normal Form
I think you are completely wrong. They are atomic in that both are required in the attribute. A latitude on its own is meaningless wrt a point on the globe, just as an hour number is meaningless wrt a point in time.
There are many attributes that contain what look like multiple values but are atomic values. For example, the quads in an IP address. For example an IP address without a subnet mask. For example the digits in a phone number.
Arguing that these should be split into component properties is like arguing that date time information should be stored like this:
DOBYear int,
DOBMonth int,
DOBDay int,
DOB Hour int,
DOBMinute int,
A user-defined type, for example DateTime, is the best way to store this data.
It is just in match with XP's popular motto 'get it work, get it right, get it fast'. And it's OK.
Yeah I know what you mean.
I still have some code in production written on a bad day where the variables are named "idiot", "stupid" etc. It's like coded code, only uberbob knows what's going on there! Good luck to anyone else.
fnarr!
"Programmers and even IT professionals in general just need to do their jobs and quit thinking they're so brilliant that they're going to single-handedly change the world with their eccentric ideas."
Yeah, that kind of attitude has never resulted in anything good or useful.
I love thedailywtf, but you're quite outspoken on some things I disagree very strongly with.
I won't say mySQL is better than Oracle or SQL Server... but I will say that depending on your database to enforce data integrity (and clearly misinterpreting and generalizing a quote in which you added embarassingly telling emphasis) is NOT a good idea.
I've been involved in two relevant large projects that have employed both mySQL and Oracle to hold hundreds of gigabytes of data. I can say that your problem with database-level data integrity protection is only really valid when your programmers are distanced from the nature of the data, the database itself, or both.
At the mySQL/postgre shop, we managed our own DB. The programmers knew the business rules, and we made sure our code obeyed them. We did not have to worry about making sure our queries weren't spat back with data integrity errors; that's another level of error to deal with, when solid coding and knowledge of what you're doing can and should save you that trouble.
At the Oracle shop, there was a layer between the coder and the DBMS -- DBA's. While I'm not against having them, DBA's can act as an excuse for programmers not to be as familiar as they should with the nature and type of the data they're working with. Is that a failure of the DBMS? No. Is that a good argument for database-level integrity checks? No. That's a good argument for programmers to know what they're doing before they do it.
Are database-side integrity checks a bad idea? No, I can see the utility there. Are they necessary? Absolutely not, unless you plan on writing bad code or maintaining good code poorly. And they still don't solve that problem, because the schema will probably need to be changed and updated as well; at that point you run into -exactly- the same problem, except now you're potentially dealing with people who have no idea where or how the data are being used. So the problem still exists, and has a similar or higher potential to botch things on a grand scale.
The fact that you believe you are right does not mean there is no debate. It means you have a limited understanding of the issue and are unwilling to look at the other side.
Not, of course, to be confused with the FUD strategy of application development...
The use of SQL Server CLR UDTs would be warranted in certain limited situations. I can see it being useful in a space-limited environment where one needs to share data whose representation is smaller in UDT form than separated into traditional columnar format. It would also be useful when rapidly developing a scalable system that used SQL Server as its mode of transfer between machines rather than developing a hand-coded system of server message queueing. It's also useful in many queueing systems that could be scaled across servers using SQL Server's logic automatically. Use of UDTs would be prime in any case that SQL Server native capabilities can be borrowed upon, especially since developers would save time from wrapping them in database column / table<->object data transfer systems. CLR UDTs are also useful where the point of the data IS the object rather than further breakdowns of the object's components. Yes, yes, you can argue scalars and other theory all day long, but if the point of using SQL Server is to store the object itself, that's it - you cannot break down the item beyond its own component. The very word "atomic" when used to describe data that has no further subcomponent is kind of a misnomer, considering that the "atom" itself is comprised of subatomic particles (as the very elements we describe as atomic in DBMS can themselves be composites). Now let's examine "best" from another viewpoint: your boss would agree with me. Compare 2 months of extra development time to implement it in a way that conforms to a set of arguable theoretical standards versus an easily maintainable system that saves all of that time and money? I think we have a winner. Let me know when you've got that t-shirt ready!
I've found out speed and memory is very much important unlike human readibility which doesn't really make a shred of difference once a project is finished and encapsulated in the right way.
"Are database-side integrity checks a bad idea? No, I can see the utility there. Are they necessary? "
Absolutely. Doing all data integrity in the client leaves you open to attack since you can't force the bad guys to use your application.
Whenever a new "programmer-obsolesence tool" like this one comes along, a good question to ask is, "why do they want to get rid of the programmers?" I suspect that the reasons fall along mostly the same lines - the programmers aren't receptive to the realities of the business (e.g. they insist that the development will take 6 months when it's needed in 1 week), the programmers are too expensive, it takes too long to transfer the domain knowledge out of the heads of the people who have it into the heads of the programmers, etc.
However, I contend that, even if Coghead is successful, all of these problems will persist - the people who learn to use Coghead will discover, from bitter experience that yes, it does take six months to build a six month application, the experienced people will be lured away to greener pastures by more money (and become expensive), and the people who work with Coghead won't have the time to maintain the domain knowledge and the knowledge will still need to be transferred.
And, of course, Coghead runs on a computer. Things that run on computers break in computerish ways (Network timing out? File system full? Auto-generated file name longer than the OS-prescribed limit?) and experienced computer people are needed to troubleshoot what broke, and where. Either the (former) business gurus who started learning Coghead (until it became their 24x7 life) will need to also pick up knowledge of all of the random computer quirks that we recognize immediately, or another layer of staff will need to be added to support the application when it goes wrong.
Whatever problem you think you're going to solve by getting rid of the programmers will circle back around and become a problem again.
what ever happened to the MVP Logo? Did the trademark lawyers send you a cease and desist?
I'm onto you Papa!!
;-)
Dont get the sarcasm in this article.
Think its wasted webspace and bandwidth and my time.
And here I was about to make my OWN Add-In HA!
Cheers!
At a time of
of high bandwidth for internet users, why do people still worry about keeping webpages they build under 100k??
hhhmm...i know this guy dont know what he is talking about...
asp.net
Platform price, FREE!!!
Platform, strong
Speed, FAST!! I guss he dont use any big name sites like monster.com or microsoft.com
Platform, wondows
Source available, YES it is thats why its OPEN SOURCE.
for Securtiy...PHP is not that good..I HAD a php site and it got hacked 2 times. and my ASP.Net site hacked 0 times
How is the error handling in stored proc of T-SQL?
To celebrate individuals who have done a huge favor to the human race by eliminating themselves from it, the Darwin awards hold a special place in my heart. If you are into dark humor and have not read about these insane awards
you owe it to yourself to see these:[url=http://www.really-stupid.org ] Darwin Awards are class act humor. [/url].
You forgot..
Lmfao
and
Roflmfao
Also..Lets discuss the way people use and = & in a tottaly stupidified way..
as such;
So I saw that girl the other day && she was wearing that coat!
I mean its unneccesary to be using &+&
That just basically makes you go....'the other day and and....'
Its true..The internet makes everyone go a little more stupid by the day.
chuckbuc:
Not everyone thinkg VB is easier to read than C#. I think quite the opposite. Reading VB for me give me a headache because I keep having to go back and forth on a line to get the information I need, and the order things are placed in is sometimes confusing. Add to this that C, C++, Java, and C# all share a very similar syntax, and you'll realize that most people should have a MUCH easier time reading C# than VB.
I use both every day. I prefer C# because I'm used to that form of syntax, and can pump out code incredibly fast even without intellisense. In the end though, it's just a matter of preference.
Great contribution. I totally agree. People who created Java, C# and UML completely neglected that the "old fashioned" word of modules and data flow diagrams still exists and has a right to exist. Rumbaugh still had modules and data flows in his method and then it was dropped. There are systems for which the OO approach is completely inadequate. These are networks of procedures, which transform input data into output data. Inputs are distinct from outputs. Variables are set only once and keep their value. Just refer to Yourdon, Constantine, Myers and DeMarco for the business applications and to "functional programming" in the strict academic sense. The full fledged functional programming has never made it into the business world, just because it is too academic. Perhaps it is coming slowly, look at Haskell.
A sound mixture of procedural, modular, functional and object oriented is the OCaml language. In this language, you can mix the procedural style (loops etc.) purely functional style and OOP as you desire. The object orientation does not get into your way if you do not need it.
OOP has been created for objects which change their state and interact with each other, to handle the complexity. It is a great idea, but it does not work for every thing.
For a functional programming language out of the Microsoft labs look at F# for dotNET. It is based on OCaml.
wow the first wft. Now i feel part of history! :P
I have a terrible, shameful urge to point at the first DailyWTF and shout... "FIRST!"
I think this article says it all...
http://worsethanfailure.com/Articles/Trust_Me,_I_0x27_m_A_Doctor.aspx.
There are software packages around which allow a person to design a house. But would you want a house built by someone who was not a qualified architect but who had just used a software package to design it? We have trained professionals in the world for very good reason.
OMFGWTFBBQ!!
Heh. The first WTF. The one that started it all. w00t!!!
Its like how people used to say: "lol" but so many people say that without so much as even a glimmer of expression on their faces in real life that some people started saying "you made me LOL IRL!".
And then so many were saying that but not actually doing it, that posts appeared with things like "You ***! You made me actually laugh so hard i spilt my coffee >_<"
But even spillages and other comparisons to real life no longer made the post seem any more valid, that i have seen people take it one step further trying to make the post more believable:
"hahahah! that was so funny i just spat my coke out all over my keyboard. this is the 3rd keyboard ive ruined this week"
When I went to work for a mom-and-pop web development shop a few years ago, the first thing they had me do was write a web-based time tracking system.
My sister the contract programmer told me that every time she got a new consulting gig, the first thing they wanted her to do was write a time tracking system.
What a waste of time, each of us developing custom apps for a common need.
Coghead may turn out to be total, mmm ... poo, but I signed up for the beta to see if at least it might save me from inventing a couple of wheels ... and maybe save someone else from inventing wheels I'm already riding on.
Your know end news! What is this? Discounts!
<a href= http://www.nudepussyporn.info/biggest-">http://www.nudepussyporn.info/biggest-***-in-***.html >Biggest *** in ***</a> <a href= http://www.nudepussyporn.info/thick-hairy-">http://www.nudepussyporn.info/thick-hairy-***.html >Thick hairy ***</a> <a href= http://www.nudepussyporn.info/latina-">http://www.nudepussyporn.info/latina-***-videos.html >Latina *** videos</a> <a href= http://www.nudepussyporn.info/hairy-">http://www.nudepussyporn.info/hairy-***-gallery.html >Hairy *** gallery</a> <a href= http://www.nudepussyporn.info/negro-">http://www.nudepussyporn.info/negro-***.html >Negro ***</a> <a href= http://www.nudepussyporn.info/***-open.html >*** open</a> <a href= http://www.nudepussyporn.info/narrow-***.html >Narrow ***</a> <a href= http://www.nudepussyporn.info/fresh-young-***.html >Fresh young ***</a> <a href= http://www.nudepussyporn.info/***-show.html >*** show</a> <a href= http://www.nudepussyporn.info/strange-***-insertions.html >Strange *** insertions</a> <a href= http://www.nudepussyporn.info/extreme-***-huge-lips.html >Extreme *** huge lips</a> <a href= http://www.nudepussyporn.info/redhead-hairy-***.html >Redhead hairy ***</a> <a href= http://www.nudepussyporn.info/hungarian-***.html >Hungarian ***</a> <a href= http://www.nudepussyporn.info/virgin-teen-***.html >Virgin teen ***</a> <a href= http://www.nudepussyporn.info/hairy-">http://www.nudepussyporn.info/hairy-blonde-***.html >Hairy blonde ***</a> <a href= http://www.nudepussyporn.info/wet-and-wild-***.html >Wet and wild ***</a> <a href= http://www.nudepussyporn.info/real-young-***.html >Real young ***</a> <a href= http://www.nudepussyporn.info/pussyman.html >Pussyman</a> <a href= http://www.nudepussyporn.info/pussycat-dolls-stick-wit-you.html >Pussycat dolls stick wit you</a> <a href= http://www.nudepussyporn.info/big-lipped-***.html >Big lipped ***</a> ,Your know end news! What is this? Discounts!
<a href= http://www.nudepussyporn.info/biggest-">http://www.nudepussyporn.info/biggest-***-in-***.html >Biggest *** in ***</a> <a href= http://www.nudepussyporn.info/thick-hairy-">http://www.nudepussyporn.info/thick-hairy-***.html >Thick hairy ***</a> <a href= http://www.nudepussyporn.info/latina-">http://www.nudepussyporn.info/latina-***-videos.html >Latina *** videos</a> <a href= http://www.nudepussyporn.info/hairy-">http://www.nudepussyporn.info/hairy-***-gallery.html >Hairy *** gallery</a> <a href= http://www.nudepussyporn.info/negro-">http://www.nudepussyporn.info/negro-***.html >Negro ***</a> <a href= http://www.nudepussyporn.info/***-open.html >*** open</a> <a href= http://www.nudepussyporn.info/narrow-***.html >Narrow ***</a> <a href= http://www.nudepussyporn.info/fresh-young-***.html >Fresh young ***</a> <a href= http://www.nudepussyporn.info/***-show.html >*** show</a> <a href= http://www.nudepussyporn.info/strange-***-insertions.html >Strange *** insertions</a> <a href= http://www.nudepussyporn.info/extreme-***-huge-lips.html >Extreme *** huge lips</a> <a href= http://www.nudepussyporn.info/redhead-hairy-***.html >Redhead hairy ***</a> <a href= http://www.nudepussyporn.info/hungarian-***.html >Hungarian ***</a> <a href= http://www.nudepussyporn.info/virgin-teen-***.html >Virgin teen ***</a> <a href= http://www.nudepussyporn.info/hairy-">http://www.nudepussyporn.info/hairy-blonde-***.html >Hairy blonde ***</a> <a href= http://www.nudepussyporn.info/wet-and-wild-***.html >Wet and wild ***</a> <a href= http://www.nudepussyporn.info/real-young-***.html >Real young ***</a> <a href= http://www.nudepussyporn.info/pussyman.html >Pussyman</a> <a href= http://www.nudepussyporn.info/pussycat-dolls-stick-wit-you.html >Pussycat dolls stick wit you</a> <a href= http://www.nudepussyporn.info/big-lipped-***.html >Big lipped ***</a>
Hey, I just got my beta test ID. Shall I blog it?
MySql is the gun and those who rely on it for any worthwhile application are monkeys. The zookeeper winds up getting shot.
I'm still waiting to see an open source application that doesn't = open crap.
snowgirl_814@hotmail.com
I suspect that's thereason general public want to read blog....Internet visitors generally create blogs to declare themselves or their secret views. Blog grant them same matter on the monitor screen what they specifically needed,so as the above stuffs declared it.
@Robbe Morris:
"I'm still waiting to see an open source application that doesn't = open crap."
Firefox. Q.E.D.
I think you make some very good points.
I think MySQL is still very handy when you're on a budget, but checking data integrity at the database level means cleaner data.
I'm not saying that all business rules should be in the database, but you should be pragmatic about it and do as much data validation at the database level as can be done with a reasonable amount of effort.
The reasons for this in my opinion are:
- the database often (if not always) will be around a lot longer than the application code, so you should take great care in keeping it clean.
- there will often be more than one application accessing the database, so doing a reasonable amount of data validation in the database will make that validation consistent across applications.
Let me get this straight. You are saying that since MySql doesn't support CHECK CONSTRAINT, it could potentially leaves the database with bad data. But at the same time, you are not advocating putting all the business rules into the database. If all the business rules are not in the database then the potential for the database to contain bad data is still there. How do you resolve that?
If you care about data integrity and important things like that, why not use PostgreSQL if you want an open source RDBMS?
@Craig Beere:
There's normally more than client-side vs. in-the-database validity checks, unless you open your database directly to the public.
MySQL is mostly used in web applications, where you will have server-side validation (i.e., in code, not the DB).
Client-side validation = JavaScript, and is for convenience only (it's trivial to circumvent, and some users will disable it). Next, you need server-side validation, to respond properly to invalid data.
Database constraints are the last line of defense, and should *never* be triggered unless you have a bug in your code. They are there to protect the data, not execute business logic in any way. Foreign keys, yes. Valid column values, sure. But rules like "no empty orders with status X" and "ship date must be after order create date", etc.? No. That's business logic; it belongs with rest of your business logic code. And when the logic changes (i.e., you need to support empty orders after a refund, or you need to allow salespeople to enter already-shipped paper orders), you won't have search the database setup scripts to see if this particular bit of business logic is enforced there -- you'll just adjust the business logic code.
I've worked with both MySQL and enterprise-level DBs (primarily Oracle and DB2) for about a decade; MySQL is certainly not a "toy", but you have to understand your options before you create your tables to get what you want. The "MyISAM" table handler (default) doesn't handle transactions OR foreign key constraints in exchange for very high performance.
This can be perfectly appropriate for web applications that use a relatively small and simple database that will need to handle a heavy load without requiring massive (and very expensive) hardware.
I have a few sites running on MySQL with the MyISAM tables -- it performs extremely well, and the cost (extra care avoiding bugs in the DB layer in the code) has not been a problem -- I haven't run into any data issues whatsoever, and they've been humming along for years now.
This is the "Slashdot" approach -- they serve about 3 million pages a day from a relatively simple data design this way, using MySQL.
If you want transactions, foreign keys, etc. use the InnoDB table handler. When your data relations are complex enough and your table set is large enough that you cannot safely just do extra testing on your DB-layer code, you need to do more to protect your data. Keep going, and you may eventually outgrow MySQL as well, if you need certain enterprise-level features -- data mining stuff, etc..
create temporary table the_dates (d date not null default '0000-00-00');
insert into the_dates values ('0000-00-00');
mysql> select count(*) from the_dates where d is null;
+----------+
| count(*) |
| 1 |
1 row in set (0.00 sec)
mysql> select count(*) from the_dates where d is not null;
STUPID!!! I could go on and on.
You have adviced to use Module rather than class. But, Module will create static methods and static data members which may be sometimes very dangerous.
In that situation will it not be good to define a class rather than a Module?
Regards,
Dool
The problem with Oracle is that it simply will not suffer fools. You have to understand what you're doing, which means you have to think about the code you're writing--which means, in turn, you have to continue studying.
If you think that SQL server is better thanl Oracle, please consider it if you use Unix/Linux as your OS server. Can SQL Server run on that OS ?
On my dual core, throwing and catching an exception takes on average about 6ms. This is the simplified version of the code I used:
private void Execute()
{
Stopwatch sw = new Stopwatch();
sw.Start();
ThrowAndCatchException();
sw.Stop();
Console.WriteLine("Time taken: {0}ms", sw.ElapsedMilliseconds);
}
private void ThrowAndCatchException()
try
throw new Exception();
catch (Exception) { }
6ms is significant enough, isn't it ?
It all comes down to how your first experience with your first language went. If you were first introduced to VB and you did well then you like that more. Thats what happened to me and I liked VB.NET. I am the opposite of what the guy before me says. Reading VB for me is easy and C# is more difficult. I feel like I am jumping all over the place in C#. I suppose you can get used to any language if you look at it enough.
i was able to get it working, via windows scheduled task .
ExpressMaint is another easy way :
www.sqldbatips.com/showarticle.asp
Hello all
How I can change avatar in this forum?
I agree with you. O.O. is not everything. I hate to write a shared method in a class when i need to do something Module dit it well in VB6. I don't think the author ADVICED TO USE MODULE RATHER THAN CLASS. Indeed, functions in module may not look like OO programs, so what? It's simple, common, directly, VB-Style.
When I taught Basic Concept of Computer in Visual Basic.NET, I have encountered a problem- What's O.O.? It's not easy to explain it in a few hours. I found Object-Oriented is not easy for the beginners. I prefer to use the module to explain the basic concept about programming, like sequence, selection, iteration. The module is much direct way. Of coures, Object-Oriented is important. But module sometimes does simple and clear.
yeahh so you cant do anything in paint.
Hi Alex,
I've been through some projects with many senior VB-to-Neters. The biggest issue in such projects is not that .net developers dont want to understand the way senior developers do things. It's the opposite.
The senior developers are mostly reluctent to learn how to utilize the power new technologies bring. They stick to Modules and use class the same way as they use data structure.
IMHO, depromoting Modules is far more helpful than promoting it.
Hongze
I was originally a vb6 developer and now do most of my work in .Net. Using or not using modules in Programming, is neither good nor bad...It is how you use them. A place to define shared Methods - good; A way of getting past having to pass parameters - bad.
I believe the fear or issue with using modules comes from the ability to declare variables which become global through the scope of the application. This can lead to bad programming practices. Modules have a place in OO design, using them to bypass good coding practices (Not using global variables), is not one of them.
In my oppinion, reading your comment on NEVER it is very said to see a culture still exists where people are very much against change.
Currently,..and I stress, CURRENTLY one is suppose to design databases only scalar, where each column only represents one piece of dead data.
Yes, we all have learned the way of DB dev.
But hang on,... how many times have we been sitting down thinking, ..I wonder if I could store a value in a column of a data type where the data type could actually do some validation itself and report back when inserting into that table that the value is incorrect,..instead of recieving a SQL error,..mostly unreadable.
Now, with CLR UDT this is possible.
Also one would not introduce business logic into the wrong place as one would add data validation routines with readable responses.
Controling the data coming into the database is by far simpler.
I come from the days of good old multi-tier development were DCOM objects would be placed where their belong. Business logic on the application server, data validation on the database server and minor relevant validation in a component on the client pc.
Well times are changing and if want to part of the future we have to adabt new ways of improving.
One can not say the earth is flat cause some else said so. Well I think for yourself, oldtimer, its about time you get out of your comfort zone and let the future improve how we design applications.
Lets strive torwards making things faster, bigger, better and use less resources while we are at it.
By all means I'm not saying CLR is a wonder,..not at all,..in fact I think that so far it has little need.
My point is that people like you, that out-right have issues with something new without even having considered the possiblities are very sad.
Get a life my friend.
Fun party trick: You can actually pound a big fat nail into a two-by-four (or the side of your buddy's house) with a beer bottle, PROVIDED you leave the cap on.
Water (or beer) is inconpressible. Glass can't break without being distorted. You can beat the hell out of a nail and cause your friends to dive for cover, but the bottle won't break. Just don't open it for a while afterwards!
@Ben:
You are dead wrong about a Point being a datum. In fact, your explanation describes the exact reason it's a bad idea to store two values in one record.
Imagine you want to know what records live in a box defined by (0,0) and (10,10). Try writing that query when all your point data is concatenated into "x,y" pairs. In a bounding box check, you will absolutely want to know about the X coordinate of your point independantly of the Y.
Great explanation!
I'll consider and talk to our IS-team to move many of the data validations-functions to the SQL-layer instead.
Thank you very much for great examples!
I love baldy, he's funny
hey.. someone plz help me.. how can i call the module i made to execute it when i clicked the button on the form..?
Try using Generics and Inheritance with Modules...you can't.
Pingback from blog.RichiStudios.com » Visual Studio 2005 - Praktische Plugins
Maybe its a toy..Bu if you know the problems + workarounds it's a good toy, perfect for web apps. It just works, and there are lots of heavy loaded sites around using mysql without any big problem. yahoo, wordpress, flickr etc.. So I think it depends on what you are using it for.
Pingback from Recommended readings at Hans’ blog
Pingback from Blog de Alex » C??mo clavar un clavo
Anyone remember "The Last One" from 1980/81 on the Commodore PET? It was going to be the last program that would ever be bought as it would write all the code for future business applications.
Its pure arrogance made me giggle in 1980 and, I'm afraid, it and its successors still do.
Cliff.
In fact, you can consider DDL like SQL Server's command line interface and SQL DDL scripts like batch files.
Jason, have you tried it? I think not. Maybe beer is not compressible, but it IS flowing, so you can still distort glass and it will break. So no, your solution isn't valid. You will end with even more mess than with empty bottle. Beer will also be under pressure from shaking and bottle will literally explode.
In life, sometimes the correct answer is something close to choice A for stuff that doesn't matter that much. Databases though, are completely different then hammering a tack into your wall. As one of the sad-sack people who needs to maintain an application that stored and coded data like this, I 100% agree with your comments. People need to be edumcated about the basics so anything you can say or do to help them not create idiocy like described above is a good effort in my book.
This is a great addition to VS2005, thanks for taking the time to create and share it.
Your code will leave the books in worse shape than Enron! Hint: your transactions table will contain only debits.
I agree that people on completely the wrong track should be shown the light, but to start your reply by saying the solution they have come up with is the worst possible idea ever and they are the source of all that is evil in the programming world is a terrible way to try and teach someone.
Apparently, the basic human need to be cruel to those with less expertise draws sycophants at an alarming rate. Allow me to humbly disagree.
Replying to a well-intentioned yet somewhat misguided hacker "This is quite possibly the worst way you could store this data in a database", and "you need to go buy an introductory book on databases" (jesus... anonymity makes people smug...) is NEITHER a) helping him brainstorm new ways of doing the wrong thing NOR b) pointing out what the right thing is to do. It's abuse. You didn't tell him to go get a hammer, you told him that he's a disgrace to drywall. Something that actually resembled your second example would be like this: "you have organized your data back-asswards, and it will be unmaintainable. You need to know these basic things about database design: ..."
Until you can tell the difference between contributing to a discussion and being abusive, you probably shouldn't be giving "advice" to newbies... regardless of how much you enjoy it or how many people kiss your ass.
The idea of SQL Express Agent is just fantastic.
You won't believe what kind of problems we have encountered when one of the branches were running out of 2 Gig space allowed by MSDE.
Once migrated to SQL 2005 Express, all the scheduled jobs stopped - inclyuding internal DB backup!
I bet stripping off Agent was the great idea by Microsoft - to force you into buying full version of SQL 2005.
They offer scheduling via Windows Scheduler - sounds like asking you top move from Windows back to DOS!
But whet dowe schedule? We don't have just a stored proc to call - we have DTS packages (and they do not exist in Express either!)
So: download DTS runtime?
What a nightmare of trying to do a simple task that existed in the previous version!
Pingback from Never Tell… Richard Eibrand » Blog Archive » links for 2007-08-21
Nice article; sums up the advantages of DDL, and how to go about learning it.
http://www.travel-sichuan.com
www.iq-supplement.com/setuzei
www.hec-wuxi.com/main.htm
http://www.120tm.cn
My favourite quote on this subject:
I'm not saying there should be a capital punishment for stupidity, but why don't we just take the safety labels off of everything and let Darwin do it's work.
Or something along those lines anyway. Ofcourse I totally agree with you and go for option B. I am the kind of person you are asking for to actively (online) try to keep this kind of crap offline.
Re:
" Replying to a well-intentioned yet somewhat misguided hacker "This is quite possibly the worst way you could store this data in a database", and "you need to go buy an introductory book on databases" (jesus... anonymity makes people smug...) is NEITHER a) helping him brainstorm new ways of doing the wrong thing NOR b) pointing out what the right thing is to do. It's abuse. You didn't tell him to go get a hammer, you told him that he's a disgrace to drywall. Something that actually resembled your second example would be like this: "you have organized your data back-asswards, and it will be unmaintainable. You need to know these basic things about database design: ..."
I wouldn't call it abuse, I'd call it discipline. Answering questions in detail without a reference to the total lack of expertise of the person asking the question -- which is the actual problem -- tends to encourage an attitude of starting without proper preparation. It only creates more questions and trouble in the end. Reading that book could answer a 100 questions that the novice/newbie was otherwise going to post somewhere down the same thread. It will save everyone time, especially the person who posted the question.
One new subscriber from Anothr Alerts
Stefan,
take a look at this, several SPs were created manually to make changes to tables that are already referred.
www.sqlteam.com/.../topic.asp
Free West Palm Beach FL Real Estate Guide. Find the hottest West Palm Beach FL properties and best neighborhoods. Save time and money before contacting an agent.
i want to create form useing module and class
give me idea
Hi, nice very nice page..!
world wildlife fund - allfunds.free-site-host.com/fund-raising-strategy/index.html
fund raising strategy - allfunds.free-site-host.com/world-wildlife-fund/index.html
fund of hedge funds - allfunds.free-site-host.com/nonprofit-fund-raising/index.html
[URL=allfunds.free-site-host.com/world-wildlife-fund/index.html]world wildlife fund[/URL]
high school fund raiser - allfunds.free-site-host.com/provident-fund/index.html
Good luck !
PS: do you listen Linkin Park ?
This is a great time-saving add-in for any developer. I added in an option to allow the add-in to remember customized commented signatures into the configuration dialog along with a menu option to paste the signature in. If interested in my changes email me at my URL above (not a programmer's site but has my email address at the bottom of the page)
http://www.shhbj.cn
www.mygamesale.com/power-leveling
<a href="www.cnhrdoeo.cn/sedation53.html">risks of sedation during pregnancy</a> risks of sedation during pregnancy,<a href="www.cnhrdoeo.cn/doll60.html">merlin doll</a> merlin doll,<a href="www.cnhrdoeo.cn/lengths25.html">vcr recording lengths ep</a> vcr recording lengths ep,<a href="www.cnhrdoeo.cn/lengths25.html">great lengths hair extensions columbus ohio</a> great lengths hair extensions columbus ohio,<a href="www.cnhrdoeo.cn/sedation53.html">oral dental sedation</a> oral dental sedation,<a href="www.cnhrdoeo.cn/yosemite14.html">spanish coin found in yosemite</a> spanish coin found in yosemite,<a href="www.cnhrdoeo.cn/xvi66.html">the age marie antoinette was when she married king louis xvi</a> the age marie antoinette was when she married king louis xvi,<a href="www.cnhrdoeo.cn/doll60.html">vutral doll house building</a> vutral doll house building,<a href="www.cnhrdoeo.cn/sedation53.html">conscious sedation south dakota</a> conscious sedation south dakota,<a href="www.cnhrdoeo.cn/legends16.html">legends catering new jersey</a> legends catering new jersey,
you're retarded.
zomg, EASY.
www.mmogcart.com/.../buy-eve-isk.jsp
http://www.wowgold-sale.com
http://www.yufeng168.net
www.coghead.com/.../screenshots
check out the screen shots. Click on "Forms and Views" Then read this:
"Data is represented within Coghead using a hierarchical xml model. This means that you can create rich data sets without the complexity of foreign key relationships and indexes."
Because, you know...its a good idea to store your data in big xml files instead of an RDBMS. That works out so well...
http://www.ga-sale.com
Hi, nice page.!
look on my pages:
<a href="profitc.free-site-host.com/.../conservation-dedicated-organization-profit.html">conservation dedicated organization profit</a>
ok.. bitte
I love you people
George
When a transaction inside the Try block fails the value of XACT_STATE() becomes -1. i.e. the transaction becomes uncommitable.
To check this, do the following:
Create table dbo.test1(id int, name1 varchar(10))
BEGIN TRY
BEGIN TRAN
insert into dbo.test1(id,name1) values ('z','zzz')
COMMIT TRAN
END TRY
BEGIN CATCH
SELECT XACT_ERROR()
IF XACT_ERROR() = -1
ROLLBACK TRAN
END CATCH
The above insert will fail since the column "id" in the table expects it to be an int value. The XACT_STATE() value will be -1
www.dg3s.com.cn/zsgs.asp
I had the pleasure of meeting Window out at MS couple years back and she seemed like a great person, so I am very happy for her.
http://www.tuhigh.com
http://www.wowgoldvip.com/
http://www.game-level.com
www.rs-sale.com/runescape-money
<a href="www.pvfvjebw.cn/200684.html">2006 nyc events</a> 2006 nyc events,<a href="www.ixlmxrth.cn/focus79.html">senior focus magazine</a> senior focus magazine,<a href="www.gkekpapb.cn/playoff50.html">high school playoff brackets</a> high school playoff brackets,<a href="www.ruvpeqmv.cn/straw16.html">straw necked ibis</a> straw necked ibis,<a href="www.qyamrjcd.cn/whores32.html">whores of st louis</a> whores of st louis,<a href="www.kbxdocwn.cn/handout51.html">flip-flop tutorialhandout</a> flip-flop tutorialhandout,<a href="www.ruvpeqmv.cn/straw16.html">kim thompson straw bale</a> kim thompson straw bale,<a href="www.qyamrjcd.cn/murdered76.html">arizona inmate who murdered inmates</a> arizona inmate who murdered inmates,<a href="www.gkekpapb.cn/apes43.html">apes and humans are both part of what group</a> apes and humans are both part of what group,<a href="www.qyamrjcd.cn/murdered76.html">my mother was murdered on hbo</a> my mother was murdered on hbo,
www.evergreen-aloe.cn/index.php
www.good-cash.net/.../lake.html
Forgive me for taking your question far too literally.
Pounding A Nail: Old Shoe or Glass Bottle?
Allow me to quote James Newton:
James Newton replies: "Before I answer that question, let me just say that the hammer is the best tool. No other tool is better, no matter the application, than the hammer. In every case, where I need a tool, I reach for the hammer. Loosen a bolt? Hammer. Cut wood? Hammer. Milling complex shapes out of metal? Hammer.
...
When the time comes to insert the IC into the socket? Be sure to use a hammer."
http://www.ss-spring.cn
<a href="www.arepi.in/sailboat49.html">hunter sailboat owners</a> hunter sailboat owners,<a href="www.ezolive.in/stripped12.html">sister stripped little brother</a> sister stripped little brother,<a href="www.arepi.in/sailboat49.html">journal about living aboard a sailboat</a> journal about living aboard a sailboat,<a href="www.arepi.in/sailboat49.html">lifting sling sailboat</a> lifting sling sailboat,<a href="www.revelatas.in/lazer26.html">lazer vac igia</a> lazer vac igia,<a href="www.arepi.in/rca91.html">vocal removal rca</a> vocal removal rca,<a href="www.skidereve.in/wat79.html">wat te doen .be</a> wat te doen .be,<a href="www.planetwpi.in/goodman56.html">goodman limit switch</a> goodman limit switch,<a href="www.ezolive.in/carbonate24.html">sar lithium carbonate</a> sar lithium carbonate,<a href="www.revelatas.in/lazer26.html">elyssa lazer</a> elyssa lazer,
holiday
<a href=" http://dosug.do.funpic.org ">holiday</a>
http://www.exv.com.cn
Hi! I'm the author of the open sourced SQL Agent available at:
www.codeproject.com/.../SQLAgent.asp
I'm looking for skilled people to grow the project!
Let me know if someone is willing to help!
D.
www.spjack.com/.../ProductShow.asp
Pingback from The Usual Dosage » Blog Archive » UD’s Pick of the Top 10 Free VS.NET Add-Ins
Cool...
[URL=audi-tampa.cardetailng.cn#">audi-tampa.cardetailng.cn] audi tampa [/URL]
audi-tampa.cardetailng.cn audi tampa
http://www.52liuxue.net.cn
I've been spreading this story around a bit, whenever the opportunity has risen. I heard just now that one of my friends has actually gone out and bought the hammer after reading this.
Mission accomplished. :)
http://www.hzjswl.com
www.lt3699.com/.../hos.jsp
http://www.hyai.com
Prodaiy ICQ za 12$ za vse.Ïðîäàþ ICQ 12$ çà âñå.
274-693
324-994
564-567
605-800
695-769
985-425
132-335
478-575
Sviaz so mnoi ICQ 458411483. Ñâÿçü ñî ìíîé ICQ 458411483
http://www.questmonk.com/
Hey there,
Any plans on a VS2008 release?
Cheers,
J
Perfect addition to VS2005, will there be any release for VS2008?
:)
While SQL Server's UDTs were great when coupled with Rules (as shown by Alex), since MS has declared rules deprecated in SQL 2005, UDTs no longer seem to have any use as check constraints can't be applied at the UDT-level.
I'm not sure why MS decided to remove a useful feature, but since SQL 2005 was released I believe noone should be using UDTs, as they're pretty useless without associated Rules.
M
Find great jobs and hire the best talent
Danilo - is there a way to run your SQL Agent using a service name of "SQLSERVERAGENT" versus "SQLAgent"? I have some apps that depend on the service name being "SQLSERVERAGENT". I tried changing the service name for your app in the registry, but then it wouldn't start.
Thanks.
-C
While I agree with you that a lot of these querents need someone to grab them by the shoulders, give them a good shake and shout "WHAT'S WRONG WITH YOU?" for their design stupidities, I have also found that if you do that too vigorously, they tend to set the bozo bit and ignore the hell out of you.
I prefer to start off with a bit less heavy hand: "Why are you trying to represent a monetary value which you need to be able to add and subtract to as an array of 80 characters? Was there any specific reason why this format was needed? If that's the format you're reading or storing it in, why aren't you converting it to something more convenient once you have it? Would an alternative such as float or a fix-point math class be a suitable alternative?" (this isn't verbatim, and I don't recall the explanation other than that it was a bad one, but that's pretty much a true story).
Half the time, this means trying to tease out what it is they are actually trying to do, e.g., "What is this bizarre collection of arrays and loose variables which obviously should be some sort of data structure supposed to represent?" or "Why do you have these variables named shoe1, shoe2, shoe3, etc. separate instead of in an array?" (I can't count the number of times I've seen this, and maybe half the time it's an artifact of the development non-process rather than something that should be an actual array, even though the naming would imply otherwise).
This is a lot of work, and just seeing that you need to do it rather than just give a simple answer takes more critical thinking than most coders are looking to apply to a simple question. I've answered questions at times only to realize later that the question was the problem, and I'm usually *looking* for that sort of thing.
OTOH, every good programming forum needs someone who is willing to put the smack-down on time sinks, help vampires and idiots. More than one or two such people can make the forum into a battlefield, but without *some*one like that, the emperor will keep walking around naked, oblivious to why he's always feeling a draft.
www.hikaku-ou.com/lentalusa-ba
WTF? The link to the whole article lands me on at visualstudiomagazine.com/.../portal.aspx.
I must say, that sucks, because I was really looking forward to this particular article!
Another hopeful vote for a 2008 version. Unfortunately I'm using the Express editions, or I'd do the modifications myself :( sorry and thank you!
And to note, for those using the express editions, if you hadn't already noticed, you can't use Add-Ins..
I think this post was a joke. It's impossible to draw any conclusion by the facts posted.
Use the same query and same data and the same statistics level in the both db types.
Probably the loanstatus_cd was a very poorly chosen key column since it wasnt used by the optimizer and the table/index didnt have stats on it either.
VB has this feel of a big wad of functions and data that you just sort of wade through and pick out what you need and chain it together. Features upon features have been tacked on, and cemented by years of tradition- crap like the absence of an escape character in strings. Is VBCRLF a good alternative? No, but there's a bunch of existing people who use backslashes without a second thought in this language- so it will never change.
C# just is more consistent and structured. I don't think anyone will argue with that- more I think the argument is whether the additional structure and consistency is too restrictive and too much to learn. I personally think it makes me a better programmer, by forcing me to implement things cleanly and extensibly- but VB offers advantages in the way of ease of implementation in very small projects.
I was kinda hoping for a thedailyWTF kind of sites with FAD examples on those URL's ;)
When I use this with MVC I receive the error, "The file /Mvc.axd' does not exist. Any ideas?
For some reason i cannot install the add-in to vs2008, is there any tip or something that i have to look for first ?
Hello Anthony,
Please explain in a few words, what the problem is. I think you should only create a Directory named 'Addins' under own files\Visual Studio 2008 and copy the 'SmartPaster2008.AddIn' and the 'SmartPaster2008.dll' in this directory. VS should recognize the AddIn.
your sample is not complete. in the catch block if the XACT_ERROR() is 1 than you have to rollback your changes because you own the transaction; in reality is more complicated than this because what if your caller already opened a transaction? are you going to rollback your caller's tran? think about it.
and then more, the try catch is not catching all the error, the fatal error are not caught. which means if a fatal error happens your transaction is doomed. you have to take care of it in the caller.
and there's more, but i'll let you figure it out :)
and that's why i never took MSCSA :D
To rethrow, just use the statement "throw;"
Never throw an existing exception explicitly (try saying that five times fast) because the stack trace will indicate the point of your re-throw and not the original throw location.
> To rethrow, just use the statement "throw;"
>
> Never throw an existing exception explicitly
> (try saying that five times fast) because the
> stack trace will indicate the point of your
> re-throw and not the original throw location.
That's not the point here. The point was obviously to NOT rethrow the EXACT same exception, since it contains extra contextual information that leads to reproducing this ASP.NET 2.0 bug.
We ONLY need to throw a similar-looking exception with ONLY the original Message to prevent this bug from occurring.
> We ONLY need to throw a similar-looking exception with ONLY the original Message to prevent this bug from occurring.
That branch of the code ( "throw new Exception(ex.Message);" ) is fine. I'm talking about the other branch ( "throw ex;" ).
Coghead seems to be pretty cool. I haven't learned all it's features yet, but for some reason I found Intuit Quickbase much easier to use, at least to start off. Quickbase seems to have an interface that doesn't look as "flashy" (no pun intended) but seems more intuitive and easier to use for some reason. Maybe it's the fact that you build your tables from scratch using the interface and then you build your forms. While Coghead lets you build your forms when then builds your table structure automatically. Once I wrap my head around it I'm sure I'll like it. Oh and the other thing I wish Coghead had was the ability to share applications like Quickbase does. That feature alone is worth a million bucks. Quickbase has an application library of at least 50 or more apps. mostly created by end users who have chosen to publish them. I can't seem to find the same thing in Coghead.
Line 280 in SmartPasterForm.vb should look like this:
Me.CSLinebreakEscape.Items.AddRange(New Object() {"<none>", """\n""", """\r\n""", "ControlChars.NewLine", "Environment.NewLine"})
Noticed that i added the quotes.
the same is with line 291:
Me.CSTabEscape.Items.AddRange(New Object() {"<none>", """\t""", "ControlChars.Tab"})
Pingback from ????????? » Blog Archive » Smart Paster Add-In for VS2005 or VS2008
i am getting an error saying
"The name 'Users' does not exist in the current context"
What could be the problem.
Please do let me know.
Smart Paster Add-In for VS2008
Buenas, desde hace varios años utilizo una herramienta que realmente me ahorra segundos valiosos al momento
Buenas, desde hace varios años utilizo una herramienta que realmente me ahorra segundos valiosos al...
Another way to do this would be to implement a control adapter for your custom controls that determines if JavaScript is enabled (or desired) on the browser and changes the HTML rendering accordingly. I think that your approach is easier to understand for people familiar with NOSCRIPT though.
The problem is, there is no way to determine (ServerSide) whether or not JavaScript is enabled.
There are certainly guesses - looking at the browser ID string, an entry page that (effectively) uses JavaScript to set Session data, etc - but, if your goal is to develop for accessibility, none of the hacks are a good fit.
Shawn Devin has just recently presented a solution to check server side whether JavaScript is enabled or not (www.codeproject.com/.../Detect_JavaScript_in_ASPX.aspx). To be honest I'm not really convinced by using a redirect method, but it might just work for some of you.
Whenever the question doesn't make sense, I actually start with the question of "What are you trying to do?"
It might be possible to tease it out of them, or get it in smaller pieces, but it's usually pretty obvious from the initial question that the higher up you can fix their design, the better.
Take the original question here -- it was actually pretty helpful, as it starts out talking about milling machines. Imagine if the guy had started out talking about the stored procedure, and you had to slowly work back to the fact that it was about milling machines?
Also: As much as I am tempted to, only start insulting people when you're convinced they are beyond hope, not when you want them to educate themselves. Suggesting a book (or a Wikipedia link) isn't a bad idea, and will help them to find out for themselves just how bad they are. If you tell them, they'll just be offended and go back to doing whatever they were.
That said, I've just realized something: I ask questions in exactly the opposite way. I do this because I assume that by the time I get it down to a simple question, that question will make sense. I also do this because sometimes I deliberately use what I know will be considered the wrong tool -- there are many fun programming projects which, if done in a more serious context, would be on thedailywtf. (Example: Someone wrote Tetris in Bash. WTF???)
Is it really necessary to detect Javascript these days?
Don't know the statistics, but only thing I could imagine posing a problem would be mobile devices.. But, please, educate me :)
I like this answer from MSDN "...My first instinct is to move these apps to the Recycle Bin. But who am I to judge? Perhaps there are circumstances when it's wise to disallow moving and sizing. Maybe you're writing a nuclear control program for the President. Whatever."
[Paul DiLascia, msdn2.microsoft.com/.../cc301402.aspx]
The difference is that I do tech support, not development. I'm certain that the odds of the suggestion "you are dumb - go back to kindergarten" actually helping the poster are overshadowed even by the infinitesimal chance that there is some sane reasoning justifying their post.
Also I recall reading this related story many years ago: www.subgenius.com/.../X0014_Pounding_Nails.html
hello am mr.alhassanand i will like to order some paint in your factory and also i will like to know the type of payment u accept and the price of the paint i need 20 pcs of payment and how much will be the price .Waiting
mr.alhassan
I was just thinking to myself - why have modules when you can create a class with shared members (ie static functions for C# users) - thus keeping everything object-oriented.
Why have modules at all? This article has convinced me that indeed they're an archaic artifact left over from pre-.NET days.
hey i can tell all you guys are techies and i can tell you from a user's point of view that the Oracle 11 that my employer is intalling is the biggest piece of crap I have ever worked with in 30 years!! This emperor has no clothes!!! and despite that fact that we all know it there isn't a single thing we can do about it. They haven't bothered to Americanize the grammar or thought processes so we are surrounded by 10 Eastern Indian "intructors" to translate. God forbid you should question the logic of the software "that is how Oracle works" is all we get. Am activily seeking a new career with any company NOT using Oracle.
Who doesn't have JavaScript?
FireFox + NoScript
IE in Restricted Sites
Now, all these people can turn it back on, but will they?
Thanks for the blogpost Alex ! This helped me with implementing the workaround for my VirtualPathProvider that also serves embedded resources.
Btw, some else (Travis Illig) posted a blog entry about such a VirtualPathProvider : www.paraesthesia.com/.../embeddedresourcepathprovider---binary-only-asp.net-2.0.aspx
Happy coding, Stefaan
Oracle simply sucks... The boolean, the varchar2... I'm rooting for the day when Mickersoft buys Oracle...
SQL Server rulez!!
Me cago en la madre de Oracle!!
looking for warehouse work
I develpe various Web application for LAN/WAN Network Administration using palin text file.
Due to certain well-known limitation,now I am switching over to & learnign DBMS technic with MySQL.But,reading such discusson
(like 'MySQL 5.0: Still A "Toy" RDBMS !!!!')
,I got realy confused about choice of DBMS producct.
I thing I have to be first master of all available DBMS product (like MySQL,
MS SQL,Oracle etc)and then I can select proper DBMS and then I will fouce on my original work i.e. network software development.
May God help me !!!
Listed below are links to weblogs that reference The Smile Of Beauty. The Smile Of Health. :
Oak Forest anesthesia is the only home Garcia has unrecognizable for 16 butterbur. All 220 patients- quadriplegics, gunshot wound victims, stroke survivors- are to be narrowed. And provably the crystallizing petting, which are not mentioned in any standard
Pingback from Useful add-ons (plugins) for Visual Studio 2005 - Ye Meri Life Hai!
//I never considered the possibility that a professional software developer would use a GUI to create a table//
Hmm, that reads as rather sanctimonious!
I often use the GUI to create an initial table schema , particularly look-up tables used to populate dropdowns etc. Then I will modify the DDL which is automatically generated as appropriate.
'Professionals' should also be able to select the most efficent method of getting the job done ;-)
Another benefit of using modules which has not been mentioned is the VB compiler performs a static import for all modules in a project so that qualifying a method with the class(module) name becomes optional.
For example instead of
MyClass.StaticMethod(parameter)
you can just call
StaticMethod(paramter)
Notice how this emulates the syntax of Left(myString,4), demonstrated by Alex above.
the real wtf is that all 7 of the chrisses are women. Also 90% of the women in IT are named Suresh.
Even in the past, people are searching for the best facial wrinkle cream that can really eliminate the signs of aging. And through the development of technology, many manufacturers have made some important research and discoveries. They present their
Pingback from Great reads for the week « Computing Life
Pingback from asp net ul html
Anybody Know if i can find a version from SQLAGENT for Windows x64 plataform?
Ajax HTML Grid Control for ASP.NET MVC (Part2)
For those trying to get this to work in VS 2008: Besides copying the files to the add-in directory as described above, you need to edit the .addin file using a text editor and change the number in the version tags (all of them -- there are 2) from 8.0 to 9.0
hi ;
i change my site by your code but i have a problem ..
module is not still clear.when we are using main functin then what does the use of it.I onl;y want to know the use of module in VB.NET programming.
use of the Module in VB.NET?
Surely it's totally dependent on your style of programming? If you have to write a few simple functions and subs, then maybe you might fancy writing a module for them - but maybe you want to write classes to stick completely modern OO.
The example of why modules are an advantage mentioned directly above is a great point for reducing code (obviously not by much).
I would be interested to see if there are any performance differences with using a class or a module.... Might give it a test.
VS 2008 INSTALL INSTRUCTIONS:
1. Copy the .addin, .dll files to your Addins directory [C:\Documents and Settings\[User]\My Documents\Visual Studio 2008\Addins]. If you do not have an Addins directory, create it.
2. Restart Visual Studio 2008.
WebForms is a sort of love/hate thing for me. There are some things I love about WebForms and then there
Hi people,
here you can find my packaging:
VisualStudio.NET 2008 Source + installer
www.acortech.it/SmartPaster2008 Solution%20+%20installer.zip
regards
I'm thinking of creating an error handler on two dates from two different table...any ideas on starting this statement?
Thanks
I was elated to find this post, because I thought it would solve a problem I've been having with a new design we're buildling.
We have contact info at the bottom of every page, including an e-mail address. In an attempt to protect the e-mail addresses, we use JavaScript to display the e-mail address, assembled from pieces, so the actual address never appears in the code.
But people without JavaScript see nothing.
So we need to be able to display the e-mail address without JavaScript if it's not available. But that requires putting it in the code.
I can't see a way to put it in the code *if and only if* JavaScript is disabled, because the <noscript> contents are always displayed.
I was so excited to find this, thinking it might solve my problem. But there really isn't a solution to this problem, is there? Because there's no way to detect JavaScript server-side the first time the page loads.
actually i used a modified version of the redirect thing in the end. first thing i do on my html (aspx) page is call a script which uses the XMLHttpRequest to GET another aspx page which sets a Session variable.
now i can check to see if this session variable is populated and only call my server side code if it is.
for me that solved the problem that code in the <% %> still executes even in the <noscript> tag
Is anyone else bothered by the fact that if you go the MS Connect bug report it says it was resolved over a year ago and yet I just had this same problem today using VS 2008 and Vista, granted I am compiling for 2.0 though. Am I missing an update?
Has this been corrected in a patch, SP, etc???
These virtual path providers are very handy, albeit after you waste several days doing research and testing workarounds for weird issues. Seems like no one has it right, except maybe internally at MS.
Masking tape is a type of adhesive tape made of easy- to- tear paper backed with a weak adhesive. It is used mainly in painting, to mask off areas that should not be painted. The adhesive is the key element to its usefulness, as it allows the tape to
Work from home moms. Moms work from home. Amazon com work at home moms. Moms work at home. Moms work at home center.
Cool Developer Tools
Pingback from Un petit truc pour mieux programmer selon les sp??cifications — Nicolas Roberge, observations et conseils sur la technologie
Craig, again, don't speak of what you don't know. Coghead may be using some kind of XML database, not big XML files. There are several XML databases out there that make dealing with XML very quick. You can index records, and do advanced queries quickly with XQuery.
Wow - fantastic!
acor3 - thanks for the install. Had a bit of trouble under Vista, with the addin/dll copied to:
C:\Users\<user>\Documents\Visual Studio 2008\Addins
I moved both files to here:
C:\Users\<user>\AppData\Roaming\Microsoft\MSEnvShared\Addins
And everything works. This is also where GhostDoc installs its addin, so not sure what's up with the documents folder.
1.RefactorforASP.NET
Refactor!isfreelyavailabletoallASP.NET2.0developersandoffersaco...
Pingback from Curious Coding » Quick Tip: Finding hidden exceptions in your .NET application
Pingback from Frank Carver’s Punch Barrel / Pounding A Nail: Old Shoe or Glass Bottle?
Pingback from MySQL 5.0: Still A "Toy" RDBMS? | hilpers
Pingback from Free Visual Studio 2005/2008 add-ins/plug-ins which boost your productivity - Asp.Net 3.5 - Learning Portal of Microsoft Asp.Net
Pingback from Figment » Blog Archive » I haz a smart?
Pingback from Visual Studio Plugins I Use « Schleichermann’s Weblog
Pingback from This Blog Needs No Name | February | 2009
Pingback from Visual Studio Addins - SmartPaster and CopySourceAsHTML « Arcane Code
Pingback from The trouble with data… » The Steve Rule
Pingback from VS2008 Plugin: Smart Paster and CopySourceAsHtml « Life & Technology
Ann:
to "hide" the email address on your page botttoms, why not have a graphic of whatever constant text (support@foobar.com) is to display? This solution prevents snooping the code for plain-text email addresses, and doesn't require javascript... or am i being too simple-minded here?
so... now Joshua Davies' question from 12/2007 becomes relevant: SAP has taken coghead "off the market" (too much competition for their own "COBOL punched-card in a relational database" ???)... what of all the coghead apps? do those poor souls now have to purchase SAP and hire non-english speaking consultants to get at their data?
I think shared methods are dangerous in web applications, what happens if two users call the same method inside a module at the very same time? is there any contention mechanism inside to prevent this? if you are not locking the method access (lock, mnonitor..etc) then, IMHO, you will have 2 callers using the same code and probably obtaning unexpected results.
Pingback from Short Order Code #004 :: Tooling For Success – part 2
Pingback from SmartPaste for VS2008.NET | small DiGiTaL world
Pingback from Buy the Book : Visual Studio Hacks
Pingback from Abizern.org → A Simple Answer Is Not Always Best
With all beforehand apologies to MVPs http://weblogs. asp.net /alex_papadimoulis/archive/2005/11/13/430478
一年ぶりぐらいにコーディングのお仕事をしていて、久しぶりに開発SEっぽいことをしています。開発をしていて面倒だ!!!て思ったのがSQL。 SQLを書くのにOBEJECT BROWSERを使用しています
Pingback from Question What is a Module - Visual Basic .NET Forums
http://weblogs. asp.net /alex_papadimoulis/archive/2005/11/13/430478.aspx omfgwtfbbqlolpimp
RT @Tuijn : http://weblogs. asp.net /alex_papadimoulis/archive/2005/11/13/430478.aspx omfgwtfbbqlolpimp
Pingback from Coding4all
The Steve Rule http://weblogs. asp.net /alex_papadimoulis/archive/2005/04/22/403889.aspx (old I know
Good post I have appreciated reading this as well as I have refrred your post to my list of related blogs check it out www.graconautilus3in1carseats.com/.../graco-nautilus-3-in-1-multiuse-car-seat-bravo
Pingback from Las 5 extensiones de Visual Studio que más utilizamos – Consultec Blog
Nice article I have appreciated reading this and I have added your article in my personal list of related sites look it over www.graconautilus3in1carseats.com/.../graco-nautilus-3-in-1-car-seat-manual
where i can download CommunityServer or can you tell me how can i creat a forum like http://forums.asp.net
Pingback from [HACKERS] How to insert the values of .sql file (dump file) into postgresql 8.1 « the now
Pingback from ?????????? ?????????? ?? Visual Studio 2010 « Ivan Andreev's Blog
Pingback from To throw or not to throw exceptions? | The Largest Forum Archive
Pingback from To throw or not to throw exceptions? » Technology Articles - Technology And Programming Articles
Pingback from youtube video as web site background - Programmers Goodies
Pingback from Which file system for enormous number of files in one directory? - HEXUS.community Discussion Forums
Pingback from horoscopes
Pingback from Using Mercurial repository inside a Git one: Feasible? Sane? | Q&A System