The Artima Developer Community
Sponsored Link

Weblogs Forum
Hiring the Rowing-Forward 30%

54 replies on 4 pages. Most recent reply: Jun 13, 2008 10:56 AM by Patrick Band

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 54 replies on 4 pages [ « | 1 2 3 4 | » ]
Mark Thornton

Posts: 275
Nickname: mthornton
Registered: Oct, 2005

Re: Hiring the Rowing-Forward 30% Posted: Apr 18, 2008 9:34 AM
Reply to this message Reply
Advertisement
> But aside from this, what exactly do you expect to change
> when the fully relational model is adopted? What has
> changed with the parts you have implemented? Have your
> issues finding qualified people decreased by half?

One of the advantages of using a popular relation database, is the greater ease of finding/employing people who can understand what you are doing. In this context we have to accept these products as they are, not as we might like them to be.

robert young

Posts: 361
Nickname: funbunny
Registered: Sep, 2003

Re: Hiring the Rowing-Forward 30% Posted: Apr 18, 2008 10:01 AM
Reply to this message Reply
> > > Of course each time
> > > I've asked you to explain how to solve a specific
> > problem
> > > without any of that nasty 'code' you've chosen not to
> > > reply.
> > I don't recall such, but if you've one to hand, I'll be
> > happy to.
>
> How do I send a daily message at 12:00 AM to N*M external
> entities in N different formats using no 'code' or
> hierarchical data structures?

The olde mail merge problem. The (variable) data is stored in a minimal cover relational structure. Then cron is used (or other O/S specific utility) to fire off the merger. Here's one: http://www.4tops.com/sql_server_word_mail_merge.htm

Florin Jurcovici

Posts: 66
Nickname: a0flj0
Registered: Feb, 2005

Off topic: Re: Hiring the Rowing-Forward 30% Posted: Apr 18, 2008 10:13 AM
Reply to this message Reply
IMO you are exagerating at least a bit. I don't think it's a bad thing to write a 200 rows XML document instead of writing three clases with 15 methods of Java for each different deployment.

I agree, however, that there are tons of technologies which exagerate with configuration. But IMO this is not programmer wrongdoing, even if it seems it's Java folks doing this, it's on one hand consultants which lost touch with reality, and get paid only because this is what consultants do (getting paid), on the other hand the big tool-making companies, which push technologies which are unusable without tools.

Nevertheless, even in the Java world, ppl start waking up. The bad technologies pushed by big companies through JCP are rejected in favor of properly usable open source alternatives, even if what the JCP produces is designated as "standard" and the open source alternatives are called "non-standard".

James Watson

Posts: 2024
Nickname: watson
Registered: Sep, 2005

Re: Hiring the Rowing-Forward 30% Posted: Apr 18, 2008 10:16 AM
Reply to this message Reply
> > > > Of course each time
> > > > I've asked you to explain how to solve a specific
> > > problem
> > > > without any of that nasty 'code' you've chosen not
> to
> > > > reply.
> > > I don't recall such, but if you've one to hand, I'll
> be
> > > happy to.
> >
> > How do I send a daily message at 12:00 AM to N*M
> external
> > entities in N different formats using no 'code' or
> > hierarchical data structures?
>
> The olde mail merge problem. The (variable) data is
> stored in a minimal cover relational structure. Then cron
> is used (or other O/S specific utility) to fire off the
> merger.

Is cron part of the relational model? If not then you didn't answer the question as stated.

In addition, the mail merge example you give, beyond being trivial and inadequate for the problem at hand, does it produce relational a model or some sort of hierarchical or flat data?

James Watson

Posts: 2024
Nickname: watson
Registered: Sep, 2005

Re: Off topic: Re: Hiring the Rowing-Forward 30% Posted: Apr 18, 2008 10:17 AM
Reply to this message Reply
> IMO you are exagerating at least a bit. I don't think it's
> a bad thing to write a 200 rows XML document instead of
> writing three clases with 15 methods of Java for each
> different deployment.

Florin: To whom are you responding?

Eivind Eklund

Posts: 49
Nickname: eeklund2
Registered: Jan, 2006

Re: Hiring the Rowing-Forward 30% Posted: Apr 18, 2008 10:35 AM
Reply to this message Reply
> > I don't know of any cases for 30 years where the full
> > relational model has been used, so I find it hard to
> say
> > it's failed - I have hopes for it and have a halfway
> > implementation helping with the systems I build
> > (abstracting away most use of SQL) - but - it's
> incomplete
> > and we still don't use it everywhere, so I can't even
> say
> > "Here's a domain where it works".
>
> There's Rel which is written in Java.
> http://dbappbuilder.sourceforge.net/Rel.html It's not a
> a 'real' implementation. It's just for teaching people
> how to use things that they won't have access to in a
> 'job'.

Not useful for my purposes, though people's experiences with it might be.

>
> But aside from this, what exactly do you expect to change
> when the fully relational model is adopted?

In the programs I deal with? Mostly that the need to repeat information about how data is structured at various points in the system disappear, making it possible to change data layout without having to change code all over the place, and thereby making it possible to optimize performance more easily, and making it possible to do more reuse of code.

I also expect that I'll be able to do a more complete integration with hierarchies, making it possible to deal with files and XML in an integrated fashion, instead of having the experience that flat files, directory structures, XML structures, and database structures are "different worlds".

> What has changed with the parts you have implemented?

I have simplified dealing with data quite a lot, and I have been able to do quite a bit of code generally instead of having to repeat code.

There is less information about how various tables are related etc in the system than before, as relations are pushed through the system and manipulated instead of building queries against the database at each point.

> Have your issues finding qualified people decreased by
> half?

Not at all. I believe that using a proper model for data is quite orthogonal to that; it is just a tangent that was going on and that I picked up.

Eivind.

robert young

Posts: 361
Nickname: funbunny
Registered: Sep, 2003

Re: Hiring the Rowing-Forward 30% Posted: Apr 18, 2008 1:01 PM
Reply to this message Reply
> > > > > Of course each time
> > > > > I've asked you to explain how to solve a specific
> > > > problem
> > > > > without any of that nasty 'code' you've chosen
> not
> > to
> > > > > reply.
> > > > I don't recall such, but if you've one to hand,
> I'll
> > be
> > > > happy to.
> > >
> > > How do I send a daily message at 12:00 AM to N*M
> > external
> > > entities in N different formats using no 'code' or
> > > hierarchical data structures?
> >
> > The olde mail merge problem. The (variable) data is
> > stored in a minimal cover relational structure. Then
> cron
> > is used (or other O/S specific utility) to fire off the
> > merger.
>
> Is cron part of the relational model? If not then you
> didn't answer the question as stated.

I have *never* stated that RM replaces *everything* in IT. Only that it *replaces* other lower quality datastores. So, yes this does answer the question.

>
> In addition, the mail merge example you give, beyond being
> trivial and inadequate for the problem at hand, does it
> produce relational a model or some sort of hierarchical or
> flat data?

As stated, the variable data, whatever it may be, it stored relationally, merged into the boilerplate stored in however many versions, thence sent out via cron/word/db to the many happy recipients.

robert young

Posts: 361
Nickname: funbunny
Registered: Sep, 2003

Re: Hiring the Rowing-Forward 30% Posted: Apr 18, 2008 1:14 PM
Reply to this message Reply
> > > > > Of course each time
> > > > > I've asked you to explain how to solve a specific
> > > > problem
> > > > > without any of that nasty 'code' you've chosen
> not
> > to
> > > > > reply.
> > > > I don't recall such, but if you've one to hand,
> I'll
> > be
> > > > happy to.
> > >
> > > How do I send a daily message at 12:00 AM to N*M
> > external
> > > entities in N different formats using no 'code' or
> > > hierarchical data structures?
> >
> > The olde mail merge problem. The (variable) data is
> > stored in a minimal cover relational structure. Then
> cron
> > is used (or other O/S specific utility) to fire off the
> > merger.
>
> Is cron part of the relational model? If not then you
> didn't answer the question as stated.
>
> In addition, the mail merge example you give, beyond being
> trivial and inadequate for the problem at hand, does it
> produce relational a model or some sort of hierarchical or
> flat data?

Dang, there's an opportunity lost: http://www.aamailsoft.com/sql_based_mail_server.htm

James Watson

Posts: 2024
Nickname: watson
Registered: Sep, 2005

Re: Hiring the Rowing-Forward 30% Posted: Apr 18, 2008 1:19 PM
Reply to this message Reply
> I have *never* stated that RM replaces *everything* in IT.
> Only that it *replaces* other lower quality datastores.

You keep suggesting that it somehow fundamentally changes the problems at hand. Specifically in this thread, you have suggested that it would relieve problems finding effective team members.

> . So, yes this does answer the question.

What you have described is exactly how I build systems. The only difference I detect is perhaps how the data gets to the code that acts upon it. In my case, I use SQL. I'm not sure what you are suggesting to use.

But in any event, getting the data with SQL is the easy part. It's what happens with the data that takes the most work.

> > In addition, the mail merge example you give, beyond
> being
> > trivial and inadequate for the problem at hand, does it
> > produce relational a model or some sort of hierarchical
> or
> > flat data?
>
> As stated, the variable data, whatever it may be, it
> stored relationally, merged into the boilerplate stored in
> however many versions, thence sent out via cron/word/db to
> the many happy recipients.

I never mentioned anything about merging. The recipients in question do not have emotions. You have failed to understand the scope of the problem. The formats are not templates. They are arbitrarily defined formats of machine readable data e.g. CSV, X12, ASN.1, JSON, fixed-length, delimited, XML. The variable data itself needs to be transformed.

In any event, what part of the solution you propose is relational? What would change from the way most people do things to the way you are suggesting. Your suggestion seems to be the within the most common and obvious approaches.

James Watson

Posts: 2024
Nickname: watson
Registered: Sep, 2005

Re: Hiring the Rowing-Forward 30% Posted: Apr 18, 2008 1:24 PM
Reply to this message Reply
> I have simplified dealing with data quite a lot, and I
> have been able to do quite a bit of code generally instead
> of having to repeat code.
>
> There is less information about how various tables are
> related etc in the system than before, as relations are
> pushed through the system and manipulated instead of
> building queries against the database at each point.

OK. I'll buy that this could make it much easier to get data to the code (I don't want to say query, because I think that's not quite right) in a lot of circumstances. What I don't buy is that this fundamentally changes the difficulty build the systems that act upon or otherwise use this data. I don't think that you are arguing that it does so I'm not sure we are in disagreement.

Thanks for your helpful response.

James Watson

Posts: 2024
Nickname: watson
Registered: Sep, 2005

Re: Hiring the Rowing-Forward 30% Posted: Apr 18, 2008 1:27 PM
Reply to this message Reply
> Dang, there's an opportunity lost:
> http://www.aamailsoft.com/sql_based_mail_server.htm

An opportunity for whom? I'm not sending emails in my applications.

robert young

Posts: 361
Nickname: funbunny
Registered: Sep, 2003

Re: Hiring the Rowing-Forward 30% Posted: Apr 18, 2008 2:24 PM
Reply to this message Reply
> You keep suggesting that it somehow fundamentally changes
> the problems at hand. Specifically in this thread, you
> have suggested that it would relieve problems finding
> effective team members.

I didn't note closely the words "software tool company" when I began. To the extent that such systems are more like games than transactional systems, a distinction I did make at the beginning, then generating such software from a database is not likely. No question. Whether it still makes sense to gatekeep based on editor preference; I don't think so.

My point is, admittedly, to aver that the task of finding effective *coders* (worrying about whether a candidate prefers vi or emacs makes for a bad team member is the sort of near-sighted pettiness I never expected to hear from Mr. Eckel, by the way), for the class of systems I referenced (data based narrrowly, and explicitly not such as games construction), is simply the wrong question. For that class of problems, the coder mindset is what has brought us to bloatware. The data mindset provides a better answer to the question of getting folks rowing in the same direction.

Data folks, in my experience, just tend to be more productive and less worried about counting coup than coders. And, on other occasions, I have mentioned commercial and OS products which implement a database driven development methodology.

>
> > . So, yes this does answer the question.
>
> What you have described is exactly how I build systems.
> The only difference I detect is perhaps how the data gets
> s to the code that acts upon it. In my case, I use SQL.
> I'm not sure what you are suggesting to use.
>
> But in any event, getting the data with SQL is the easy
> part. It's what happens with the data that takes the most
> work.
>
> > > In addition, the mail merge example you give, beyond
> > being
> > > trivial and inadequate for the problem at hand, does
> it
> > > produce relational a model or some sort of
> hierarchical
> > or
> > > flat data?
> >
> > As stated, the variable data, whatever it may be, it
> > stored relationally, merged into the boilerplate stored
> in
> > however many versions, thence sent out via cron/word/db
> to
> > the many happy recipients.
>
> I never mentioned anything about merging. The recipients
> in question do not have emotions. You have failed to
> understand the scope of the problem. The formats are not
> templates. They are arbitrarily defined formats of
> machine readable data e.g. CSV, X12, ASN.1, JSON,
> fixed-length, delimited, XML. The variable data itself
> needs to be transformed.

Well, know you tell me?? Lack of clear specification leads to change control. In any case, I expect that the system referenced could do it. Word can do anything with text.

>
> In any event, what part of the solution you propose is
> relational? What would change from the way most people do
> things to the way you are suggesting. Your suggestion
> seems to be the within the most common and obvious
> approaches.

Mark Thornton

Posts: 275
Nickname: mthornton
Registered: Oct, 2005

Re: Hiring the Rowing-Forward 30% Posted: Apr 18, 2008 3:10 PM
Reply to this message Reply
> I didn't note closely the words "software tool company"
> when I began. To the extent that such systems are more
> like games than transactional systems, a distinction I did
> make at the beginning, then generating such software from
> a database is not likely. No question. Whether it still
> makes sense to gatekeep based on editor preference; I
> don't think so.
I think you have a rather narrow view of enterprise software. There is much that is neither game like nor transactional.

James Watson

Posts: 2024
Nickname: watson
Registered: Sep, 2005

Re: Hiring the Rowing-Forward 30% Posted: Apr 18, 2008 3:20 PM
Reply to this message Reply
> Data folks, in my experience, just tend to be more
> productive and less worried about counting coup than
> coders. And, on other occasions, I have mentioned
> commercial and OS products which implement a database
> driven development methodology.

Data folks, in my experience are less worried solving problems than building the ultimate data model. In the best case they are a valuable member of a team that help structure a proper data model. In the worst case they think they know better than the developers and make a huge mess of things.

> > I never mentioned anything about merging. The
> recipients
> > in question do not have emotions. You have failed to
> > understand the scope of the problem. The formats are
> not
> > templates. They are arbitrarily defined formats of
> > machine readable data e.g. CSV, X12, ASN.1, JSON,
> > fixed-length, delimited, XML. The variable data itself
> > needs to be transformed.
>
> Well, know you tell me?? Lack of clear specification
> leads to change control.

The specification was perfectly clear. It's your jumping to a conclusion that is the problem. Common with 'data people' in my experience.

> In any case, I expect that the
> system referenced could do it. Word can do anything with
> text.

You are jumping to more conclusions. I never said text-only. Some formats I listed are not necessarily text-based.

And despite the fact that word is not a relational system. It is probably the worst possible solution to this problem. It's the kind of thing people mock on the "Daily WTF". That My best guess is that you are extrapolating the problems you've encountered are the hardest ones faced in IT and that doesn't seem to be the case at all.

In any event, what part of the solution you propose is relational? What would change from the way most people do things to the way you are suggesting. Your suggestion seems to be the within the most common and obvious approaches.

Morgan Conrad

Posts: 307
Nickname: miata71
Registered: Mar, 2006

Re: Hiring the Rowing-Forward 30% Posted: Apr 18, 2008 11:26 PM
Reply to this message Reply
Trying to get back on topic...

In my experience, many programmers get fanatic about something, like RDBs, "proper use of MVC", TDD, Eclipse RCP, applying every pattern in the book even if irrelevant and confusing. Even if not fanatic, they get focused on certain things.

This is all rowing, not necessarily backwards, but in some direction that isn't the solution. In an idea world, the manager could combine resourses so that the sum of their vectors is forward.

Flat View: This topic has 54 replies on 4 pages [ « | 1  2  3  4 | » ]
Topic: Hiring the Rowing-Forward 30% Previous Topic   Next Topic Topic: Testing without setup and tearDown


Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2014 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use - Advertise with Us