• TheRubyWarlock (cs)

    Hmm wonder if Sharon's middle name was "Paula" and her last name was "Bean" (and/or "Brillant").

    Still.. an idiot who writes a worthless piece of shit system - what else is new?

  • KattMan (cs)

    Let me guess, The Real WTF is that the company actually listened when one of their own suggested canceling future upgrades with "you can't polish a turd".

    I find that amazing!

  • Gir (cs)

    I'd just like to point out 32000 is tens of thousands of rows.

  • BigPimpin' (unregistered)

    Microsoft Access - A WTF all by itself. Anyone that actually puts a multi-user system into production that's written in Access is an idiot.

  • unklegwar (cs) in reply to KattMan

    I had to laugh at the last line. Reminds me of a pre-project conversation I had, regarding the desire to build an estore from scratch in 3 months. I believe I said "You can have something in 3 months, but it'll be a 'steaming pile'". Strangely, such a declaration from their Sr dev wasn't heeded very well. That never happens.

  • invisibletouch (unregistered)

    Oh man, I've seen "systems" exactly like this before. Employee database created with nothing but 100% Access macros, at a Fortune 500 company, no less. Had been running fine (surprisingly) for seven years, until it got hosed when a secretary went in and edited the tables manually.

    captcha: cognac, something i need to drink when i see something like this...

  • Ares (unregistered) in reply to Gir
    Gir:
    I'd just like to point out 32000 is tens of thousands of rows.

    So? Depending on the system, that could be reached in a day. The point was that the limit was reached fairly quickly showing she did not understand the quanties she was programming for. (If it was 10-20 years later that they found it I might give it to you)

  • Jon (unregistered)

    From what I hear Sharon is still in business. If I didn't know any better I'd venture a guess she put together the new Pepboy's computer system.

  • Brutal (unregistered) in reply to Gir
    Gir:
    I'd just like to point out 32000 is tens of thousands of rows.
    I'd like to point out that 32768 is also tens of thousands of rows, and won't fit in a smallint.
  • FredSaw (cs) in reply to BigPimpin'
    BigPimpin':
    Microsoft Access - A WTF all by itself. Anyone that actually puts a multi-user system into production that's written in Access is an idiot.
    Access was still in fairly common use in 1998.
  • Alan Mackenzie (unregistered)

    "... and managed to work with the company's idiosyncracies"

    Err, make that idiosyncraSies, please! It comes from the Greek meaning "mixture", not "power" (like "autocracy").

  • Someone You Know (cs) in reply to Ares
    Ares:
    Gir:
    I'd just like to point out 32000 is tens of thousands of rows.

    So? Depending on the system, that could be reached in a day. The point was that the limit was reached fairly quickly showing she did not understand the quanties she was programming for. (If it was 10-20 years later that they found it I might give it to you)

    I think the point was that the article says the system was supposed to be able to hold "tens of thousands of rows" when in fact it can. It can hold about 3.2 of them.

  • snoofle (cs) in reply to TheRubyWarlock
    "You can't polish a turd."

    Oh. My. God. - I so could have used that line on my last project!

    files it away with other good comebacks

  • RichardNeill (cs)

    Access isn't really a database at all. I have a sneaking suspicion that it's just a VB script wrapper around an Excel spreadsheet....

    At any rate, I used to run a website on ASP/Access, and it was excruciating. I didn't write it - but I did fairly rapidly port it to PHP/Postgres, and in 5 years, we've never had a fatal database crash - which is rather better than the weekly disasters that Access inflicted upon itself. [ASP2PHP is useful if you have a similar problem]

  • Trinian (unregistered)

    Fracking Cylons...

    "Some are programmed to think they are coders."

  • Anonymous (unregistered) in reply to Someone You Know
    Someone You Know:
    I think the point was that the article says the system was supposed to be able to hold "tens of thousands of rows" when in fact it can. It can hold about 3.2 of them.

    Sure, and a car is able to go 45mph in first gear as well.

  • Erzengel (cs) in reply to KattMan
    KattMan:
    Let me guess, The Real WTF is that the company actually listened when one of their own suggested canceling future upgrades with "you can't polish a turd".

    I find that amazing!

    The WTF is that they're still afraid of IT even though they have a well made, easy to use application that they've been using for some time; it "wasn't what the owner's wanted", and yet it managed to be easy to use and fit in with the companies "idiosyncrasies". One would think that this would allay their fears or at least rebuild some trust. But no, they're too focused on the first attempt done by an amateur. She says she did government coding? Must have been a civilian contracter that worked on a DMV project.

  • nobody (unregistered)

    "You can't polish a turd"

    But you can put the Aero interface on Vista.

  • Zygo (unregistered) in reply to FredSaw
    FredSaw:
    BigPimpin':
    Microsoft Access - A WTF all by itself. Anyone that actually puts a multi-user system into production that's written in Access is an idiot.
    Access was still in fairly common use in 1998.

    Which merely proves that there were idiots in 1998.

  • Someone You Know (cs) in reply to Anonymous
    Anonymous:
    Someone You Know:
    I think the point was that the article says the system was supposed to be able to hold "tens of thousands of rows" when in fact it can. It can hold about 3.2 of them.

    Sure, and a car is able to go 45mph in first gear as well.

    Yes. Perhaps you misunderstand me. I am not defending the Sharon System. I am criticizing the quality of writing in the article.

  • T$ (unregistered) in reply to FredSaw
    BigPimpin':
    Microsoft Access - A WTF all by itself. Anyone that actually puts a multi-user system into production that's written in Access is an idiot.

    The author describes this company as a "mid-sized, family-owned salvage company." I'm curious to see how many users were using this system, especially concurrently. An Access solution for 5 users isn't as bad as say 50 or worse 500 (Access has big problems with scalability).

    It's moving to SQL Server!
    If that's the case, I wonder if she'll keep the Access front end or migrate that to something else too?
  • He Who Must Not Be Named (unregistered)

    "You can't polish a turd"

    • but you can mold it if it has enough consistency
  • akatherder (cs)

    My first project was an ASP/Access website. It was an internal tool so there were only about 40 people who used it and 10 concurrent users (at the VERY most). As long as you treat Access like a real database and don't screw around with it's proprietary built-in features, it works great for small projects.

  • lizardfoot (cs)

    I've heard the "turd polish" line a few times in meetings, although usually not when the big wigs are in attendance.

    My favorite one was from a very disenchanted developer who said to the group:

    "I don't care how many wings you staple to this pig, it just ain't gonna fly!"

  • Henry (unregistered) in reply to FredSaw
    FredSaw:
    BigPimpin':
    Microsoft Access - A WTF all by itself. Anyone that actually puts a multi-user system into production that's written in Access is an idiot.
    Access was still in fairly common use in 1998.

    Yes, and it sucked then too.

  • Valacosa (unregistered) in reply to Someone You Know
    Someone You Know:
    Anonymous:
    Someone You Know:
    I think the point was that the article says the system was supposed to be able to hold "tens of thousands of rows" when in fact it can. It can hold about 3.2 of them.

    Sure, and a car is able to go 45mph in first gear as well.

    Yes. Perhaps you misunderstand me. I am not defending the Sharon System. I am criticizing the quality of writing in the article.

    You are begging to be out-pedanted.

    Let's look at the working in the original article, shall we?

    SMALLINTs used as primary keys for tables that should hold tens of thousands of rows

    Yes, 32,000 is tens of thousands of rows. That's not the point. However, the set of values which qualify as "tens of thousands of rows" range from 20,000 to 99,999. (I hope the reasoning for the upper bound is obvious, the lower bound is 20,000 because "tens" is plural. "10" is not tens, "19" is not tens, "20" is tens.)

    If one is to design an application that can hold "tens of thousands of rows" it is insufficient to design it to hold only some of that set; the table should be able to go up to 99,999 at least. While marketing droids might try to use that terminology (because it is true if one uses the narrow and misleading interpretation you have chosen) programmers should avoid it; it's distorting the spec. Keep in mind, marketing droids are also responsible for hawking scanners that "Capture images at a resolution of 19200 DPI!" while the hardware only supports 2400 DPI. Do you want to side with such folks?

    If I buy a software day-planner that "Features the days of the week!" and find it can only handle Monday, Tuesday, and Wednesday, I'm going to be pissed. Never mind that the bullet point on the box is accurate for a narrow, marketing-minded interpretation. I need all the days of the week for the software to be useful, just as I need more than 32,768 rows for a heavily used database to be useful.

    All of that aside, it's a joke, and you obviously understand it, thus it was worded such that you can understand it. Yet still feel you must pick on the wording anyway. People like you give nerds a bad name.

  • T$ (unregistered) in reply to Valacosa
    Valacosa:

    Let's look at the working in the original article, shall we?

    SMALLINTs used as primary keys for tables that should hold tens of thousands of rows

    Yes, 32,000 is tens of thousands of rows. That's not the point. However, the set of values which qualify as "tens of thousands of rows" range from 20,000 to 99,999. (I hope the reasoning for the upper bound is obvious, the lower bound is 20,000 because "tens" is plural. "10" is not tens, "19" is not tens, "20" is tens.)

    I think in all this analysis of the meaning of "tens of thousands of rows" we're missing the bigger issue. If Access was limited to small ints, you could just make fun of her for using Access instead of something else. As it stands, Access supports Long Integer. This holds values between –2,147,483,648 and 2,147,483,642. Also, if she's using Autonumber, it should be setting Long Integer by default. Not only do I not see this situation as being real, but even if it is there shouldn't be a problem fixing it.

  • ParkinT (cs)

    When will managers understand that with software (like many things in life) you must choose: Fast Right Cheap only two

  • Steve (unregistered)

    I was complaining the other day about how our "RnD" team keeps churning out steaming piles of code, then handing the projects to the rest of us to actually make work. AKA "blow drying the steaming pile until it's at least a solid turd."

  • Someone You Know (cs) in reply to Valacosa
    Valacosa:
    You are begging to be out-pedanted.

    Let's look at the working in the original article, shall we?

    SMALLINTs used as primary keys for tables that should hold tens of thousands of rows

    Yes, 32,000 is tens of thousands of rows. That's not the point. However, the set of values which qualify as "tens of thousands of rows" range from 20,000 to 99,999. (I hope the reasoning for the upper bound is obvious, the lower bound is 20,000 because "tens" is plural. "10" is not tens, "19" is not tens, "20" is tens.)

    If one is to design an application that can hold "tens of thousands of rows" it is insufficient to design it to hold only some of that set; the table should be able to go up to 99,999 at least. While marketing droids might try to use that terminology (because it is true if one uses the narrow and misleading interpretation you have chosen) programmers should avoid it; it's distorting the spec. Keep in mind, marketing droids are also responsible for hawking scanners that "Capture images at a resolution of 19200 DPI!" while the hardware only supports 2400 DPI. Do you want to side with such folks?

    If I buy a software day-planner that "Features the days of the week!" and find it can only handle Monday, Tuesday, and Wednesday, I'm going to be pissed. Never mind that the bullet point on the box is accurate for a narrow, marketing-minded interpretation. I need all the days of the week for the software to be useful, just as I need more than 32,768 rows for a heavily used database to be useful.

    All of that aside, it's a joke, and you obviously understand it, thus it was worded such that you can understand it. Yet still feel you must pick on the wording anyway. People like you give nerds a bad name.

    Since this was your response to one half-serious nitpick that wasn't even mine, really, just a clarification of something someone else said, I am certainly willing to concede that you are capable of being much more pedantic than I am.

  • wikipantia (unregistered) in reply to Valacosa
    Valacosa:
    Yes, 32,000 is tens of thousands of rows. That's not the point. However, the set of values which qualify as "tens of thousands of rows" range from 20,000 to 99,999. (I hope the reasoning for the upper bound is obvious, the lower bound is 20,000 because "tens" is plural. "10" is not tens, "19" is not tens, "20" is tens.)

    If I told you there were hundreds of bananas in my banana crate, you'd assume I had 999 bananas? If I told you I made millions in my last stock trade, you'd assume I made 9,999,999? Well, whatever floats your boat.

    All of that aside, it's a joke, and you obviously understand it, thus it was worded such that you can understand it. Yet still feel you must pick on the wording anyway. People like you give nerds a bad name.

    I think we're well aware, thank you.

  • FredSaw (cs) in reply to Zygo
    Zygo:
    FredSaw:
    BigPimpin':
    Microsoft Access - A WTF all by itself. Anyone that actually puts a multi-user system into production that's written in Access is an idiot.
    Access was still in fairly common use in 1998.

    Which merely proves that there were idiots in 1998.

    Back then I worked for a steel fabrication company. The IT department was tolerated--barely--because the company wanted to keep up with the competition. Upper management knew little to nothing about IT; they were focused on steel fabrication. In that line of work, at the end of the day you can look at the pallets of finished product waiting to be shipped and see at a glance what got done. They weren't used to seeing people hunched over computers for six months at a time with nothing to show for it until rollout.

    The point being, I'm sure the department manager would have had a difficult time trying to convince them of the need to ante up for SQL Server licensing when they already owned Access. They finally did go to SQL Server, gradually. Version 6.5, as I recall. But I'm sure it was an uphill battle for him.

  • foxyshadis (cs) in reply to FredSaw
    FredSaw:
    BigPimpin':
    Microsoft Access - A WTF all by itself. Anyone that actually puts a multi-user system into production that's written in Access is an idiot.
    Access was still in fairly common use in 1998.
    Access was still in fairly common use yesterday, more's the pity.
  • Critter (cs) in reply to Someone You Know
    Someone You Know:
    Since this was your response to one half-serious nitpick that wasn't even mine, really, just a clarification of something someone else said, I am certainly willing to concede that you are capable of being much more pedantic than I am.

    I would like to thank everyone who commented on the question of whether or not a smallint could index tens of thousands of entries for reminding me why I don't usually bother to read the comments here.

    That said, I'm off until the next time I forget.

  • Dan (unregistered) in reply to ParkinT
    ParkinT:
    When will managers understand that with software (like many things in life) you must choose: Fast Right Cheap only two
    I disagree. The project I'm working on currently is... not even right!
  • Valacosa (unregistered) in reply to wikipantia
    wikipantia:
    Valacosa:
    Yes, 32,000 is tens of thousands of rows. That's not the point. However, the set of values which qualify as "tens of thousands of rows" range from 20,000 to 99,999. (I hope the reasoning for the upper bound is obvious, the lower bound is 20,000 because "tens" is plural. "10" is not tens, "19" is not tens, "20" is tens.)

    If I told you there were hundreds of bananas in my banana crate, you'd assume I had 999 bananas? If I told you I made millions in my last stock trade, you'd assume I made 9,999,999? Well, whatever floats your boat.

    You're putting words in my mouth. If you told me you had "hundreds of bananas", 999 does fall in that range - it is defined as a valid value. No assumption there.

    While the maximum value (999) is a possibility, I would not then go on to assume that's what you actually have. It's going from a range ("hundreds") to an exact value (999), which is entirely different than what was being talked about before. A gulf of difference, actually.

    (However, if you told me to design software to keep track of your hundreds of bananas, I'd make damned sure it could go up to 999. It is precisely because I cannot assume what value "hundreds" represents that this has to be done.)

    Fuck, now I'm in an argument on the internet. We both lose.

  • Bruce W (unregistered) in reply to T$
    T$:
    BigPimpin':
    Microsoft Access - A WTF all by itself. Anyone that actually puts a multi-user system into production that's written in Access is an idiot.

    The author describes this company as a "mid-sized, family-owned salvage company." I'm curious to see how many users were using this system, especially concurrently. An Access solution for 5 users isn't as bad as say 50 or worse 500 (Access has big problems with scalability).

    It's moving to SQL Server!
    If that's the case, I wonder if she'll keep the Access front end or migrate that to something else too?

    At that time the shared part of the system had about 40 to 50 concurrent users. Concurrent access problems paled compared to the other problems.

    The move to SQL Server also meant moving to VB. Since she code barely code with a macro generator, the progress on the VB application never proceeded far.

  • Roman (unregistered) in reply to BigPimpin'

    Don't confuse an application written in Access with an application using Access for back-end data storage. The two are not necessarily the same, though often are. A number of years back, I interned at a small company that decided not to purchase Visual Studio, but use Access for development instead. Back-end needs were fulfilled by SQL Server. For what it was worth, it turned out to be a pretty robust multi-user system, with the Access front-end developed rather rapidly from scratch.

    Of course, at this point in my career I wouldn't touch Access with a ten-foot pole :)

  • Random832 (cs) in reply to Ares
    Ares:
    Gir:
    I'd just like to point out 32000 is tens of thousands of rows.

    So? Depending on the system, that could be reached in a day. The point was that the limit was reached fairly quickly showing she did not understand the quanties she was programming for. (If it was 10-20 years later that they found it I might give it to you)

    Yeah, but neither did the person who said "should hold tens of thousands of rows" - it might have made more sense to say "should hold millions of rows" (or whatever, as appropriate)

  • JOHN (unregistered) in reply to Valacosa
    Valacosa:
    Yes, 32,000 is tens of thousands of rows. That's not the point. However, the set of values which qualify as "tens of thousands of rows" range from 20,000 to 99,999. (I hope the reasoning for the upper bound is obvious, the lower bound is 20,000 because "tens" is plural. "10" is not tens, "19" is not tens, "20" is tens.)

    I'll see your pedantry, and raise you another.

    The range of "tens of thousands" is 10,001 to 99,999.

    Tens implies it is plural, and plural implies that it is not singular. There is only one 5-digit number that is singular within "tens of thousands", and that's 10,000.

    IE: if you have 3 halves of an orange, do you say "I have one and a half orange", or "I have one and a half oranges"?

    Anything greater than 1 is considered plural. Look it up in the dictionary.

  • Anon (unregistered) in reply to JOHN
    JOHN:
    Anything greater than 1 is considered plural. Look it up in the dictionary.
    The Real WTF about that is that things less than 1 are also pluralized: I currently have .25 gallons of milk in the fridge.
  • Patrick (unregistered) in reply to TheRubyWarlock
    Comment held for moderation.
  • Matthew (unregistered) in reply to RichardNeill
    RichardNeill:
    Access isn't really a database at all. I have a sneaking suspicion that it's just a VB script wrapper around an Excel spreadsheet....

    Of course Access is a database. It is a database in much the same way SQLite is a database (though Access does a little more than just store the data). It even supports SQL queries. The only thing that makes it stand out from most other databases is that it doesn't have a centralize server component aside from the file server that allow multiple users to access it.

    Not that this make Access suck any less, but it is a database.

    -matthew

  • AGould (cs) in reply to BigPimpin'
    BigPimpin':
    Microsoft Access - A WTF all by itself. Anyone that actually puts a multi-user system into production that's written in Access is an idiot.

    The other possibility is that you don't get a choice in platform. I built an Access database. Why? Because that's the software the company owns. (And it wasn't considered high-priority enough to warrant adding to the IT resources).

  • John Gillnitz (unregistered)

    Many small to medium businesses end up getting burned with half ass systems because they refuse to accept that a good system will cost more then they want to spend. Then they run into a wannabe developer who knows just enough to mess something up good. Many good developers actually start out like this and learn from their mistakes.

  • G Money (unregistered) in reply to Anon
    Anon:
    JOHN:
    Anything greater than 1 is considered plural. Look it up in the dictionary.
    The Real WTF about that is that things less than 1 are also pluralized: I currently have .25 gallons of milk in the fridge.

    Things that are 1 can also be plural. Example:

    I currently have 1.0 litres of mile in the icebox.

    G.

  • Dana (unregistered) in reply to Roman

    I worked on a college student registration system that had a fairly thin Access front end with a SQL Server back and. Each user had their own copy of the executable front end. We used ADO to move the data, and stored procedures on the back end. Security was handled by SQL Server because the Access security model is a piece of shit, to put it mildly.

    There were as many as 40 users on the system at the same time, and it was very fast and easy to maintain.

    So Access has its place if used correctly for small systems.

    Captcha: bathe

  • ICDeadPpl (cs)

    Hitler used smallint.

  • Stefan W. (unregistered)

    Access has never been a good choice, except for rapid prototyping on MS systems.

    I can immedeately name a handful of bad attributes:

    • only runs on MS platform
    • SQL input gets auto-damaged
    • doesn't scale well
    • mixes data with program
    • is slow

    Even in the mid 90ies postgresql was available and free.

  • Gazzonyx (unregistered) in reply to ICDeadPpl
    ICDeadPpl:
    Hitler used smallint.
    OK, everyone, time to go home... this post has officially been Godwin'ed.

Leave a comment on “The Sharon System”

Log In or post as a guest

Replying to comment #:

« Return to Article