Take the C# example; I'm sure that Delphi works the same way. You should be familiar with the "template method" design pattern. In that pattern, there is a method "A" that executes a series of steps, "B", "C", "D" and so on. Each of those methods B, C, D can be overridden in a subclass. Thus the pattern -- the bulk of the work is done by code from the base class; and the specialization occurs in the subclass by overriding B, C, D. In the case of this object, a method (B) does something in the base class, but for the implementation of the subclass, the specialization is that that method is not executed. You do that by overriding the base class's method B, and having an empty body.
Posts made by DrPepper
-
RE: Do nothing without doing anything
-
RE: Egocentric flame war tech interviews
"Well, I'd be happy to answer that question, but what I'd rather talk about is the skills that I have that I can bring to this position. Since you're hiring me to be a web developer, lets talk about that. For example, last year I developed a web application using xxxxxxxx"...
That would have been a much better answer. In my experience, the interviewer is mostly trying to get you to talk. In this case, he's trying to guage your level of competence. If you understand that up front, you can take over the conversation and lead the conversation where you want it to go; addressing your skills, and still address his needs.
Also, I've come to learn that even in a large tech community (I'm in Minneapolis) its a small world. If you piss off someone who is in a hiring position, word will get around, and it will be that much harder to get another interview somewhere else.
A better way to handle this would have been to say "After learning about this position and this company during this interview, I've decided that this company would not be a good fit for me. I'm more interested in doing XXX and I'm looking for those opportunities". A truthful statement; and you've saved the interviewer some time, because now he can move on to the next candidate without spending any more time considering you for the position.
Even better would be to leave the interview with something like the following: Now that I know the kind of person you're looking for, if I know someone like that I'll be sure to have him apply. In the meantime, if you hear of a company with an opening doing XXX, could you let me know?
-
RE: On-Call at the Muse Concert
I got a call once when I was in the middle of a dog show in the middle of nowhere in Kansas -- miles from the hotel, and right in the middle of the competition when my wife was showing the dog. Some bug that was in the code I was working on; and of course I was the only one who could fix it (not really, but my manager thought that) and of course it was holding up the release. So I had to abandon my wife, drive back to the hotel and fix the problem; I missed most of the dog show which was the entire reason we'd taken this vacation.
No mention of this when I got back to the office. No compensation, no recognition, or anything.
-
RE: SQL Erection
Really? "Simplify software development"? Since most of the work of a software developer is thinking, rather than typing, where does Progress fit? And compare the example (show a dialog with "hello world" and a button") to this:
<script type="text/javascript">alert('hello world')</script>
There, about 1/20th the number of characters.
-
RE: Chromebooks don't work very well without internet
TRWTF is using a product specifically designed for on-line connectivity (chromebook, google docs) when a trip to best buy could have netted you a $200.00 laptop which would have worked just fine. (It comes with notepad, if nothing else)
TRWTF is using a spreadsheet that you couldn't save to disk "until you got back to the office".
TRWTF is losing probably $10,000 in real expenses, and who knows how many hundreds of thousands of dollars in sales leads and revenue, because you couldn't run home and grab your personal laptop.
If you're still employed tomorrow, I'd be really surprised.
-
RE: Know about my WTF Column - DevDisasters?
I was pleased to see these in the visual studio magazine. A couple of them looked like (verbatim?) articles from tdwtf. Not that I minded -- they were (or are) still the best of the best of the WTFs. I appreciate your work and look forward to more in the future.
-
RE: Russian users are being blocked from downloading Java
The google translation of the site includes the following
Download Center Oracle provides important protections that prevent compliance with the legislation in the field of export of the United States and its own policies Oracle, relating to the international spread of the software and source code. Oracle also provides the enforcement of the embargo, the United States and authorized trade sanctions against certain countries.
This appears to imply that Oracle is PREVENTING compliance with the legislation. Is there someone who reads Russian who can view the original page and verify the wording?
-
RE: Front-end authentication wall
1-- they have a "no thanks" button to click.
2 -- that article, if you know angular at all, is useless. It doesn't contain any knowledge which you don't already have; and it's actually full of typos and word ommissions. I'd recommend skipping it altogether. -
RE: I thought education was a priority for the UK government
"This poster was designed by young people from England, Wales, Scotland and Northern Ireland. The National Children’s Bureau led its creation and design with the help of Children in Northern Ireland, Children in Scotland and Children in Wales."
If this was really a good idea, then kids would design -- school curriculum; children's tv shows; apps for kids. Imagine what toys young boys would actually play with if they were allowed to design them -- bows and arrows with real arrows; cops and robbers with real guns and real money; real lightsabers; tanks and spaceships and bombs.
And; nothing would ever be spelled right.
-
NSFW icon
I was browsing a post on a CSS technique, and got a popup advertising "200 lovingly honed set" of icons. But what caught my attention was this:
There are some really charming details that you don’t often find in free icon sets: there’s a lovely wiggle on the cord of the phone; the leaves of the cigar really bring out its shape; the hand-crank sewing machine looks just like a vintage Singer; and the guy in the shower looks like he’s having a great time.
I couldn't snag a screenshot of the actual popup, but you can see it for yourself here http://www.webdesignerdepot.com/ (might have to hit reload a couple of times to get the right popup to show).
-
RE: Bad casting choice
@gvh said:
Lots of unused variables (there are dozens of files where each fonction starts with an "int i;" declaration)
Wow. Cut/Paste functions? "Well, it compiles, and when I run it I don't get a segfault, so it must be OK. Even with 30,000 warnings; they can't really mean anything..."
-
RE: US Military WTF
Here's another goodie -- assuming that email is a reliable, durable service.
But other than the database entries—which marked Swenson’s award as “complete” but had no date for transmittal to CENTCOM—there was no record of any of that information in USFOR-A’s J-1 office. While one staffer insisted that Swenson’s information had been forwarded to CENTCOM, there was no record of an e-mail being received by CENTCOM’s mailbox.
Another wrinkle in the investigation was that there was no trace, electronic or printed, of the award review—probably because all e-mail records of any awards activity had been lost in 2012. That’s because the messages were stored locally on computers in Outlook .pst files—and those files were deleted off of systems during a 2012 operating system update. -
RE: US Military WTF
The wooden table makes a magical appearance:
At each intervening echelon of the chain of command—just as with many bureaucratic processes in the Army—the documents were printed out for staff review, marked up on paper, and then optically scanned to be sent to the next echelon of command. (In my personal experience dealing with Army general officers, the ones I encountered never read e-mail on-screen—they had an administrative assistant print it out and put it in their physical in-box.)
After scanning, the hard copy would generally be shredded—since it often included classified information about operations, as well as personal information about those nominated. As a result, the electronic ghost of the hardcopy became the only archive of the process. And given that in 2010 the Army’s e-mail systems were a fragmented mess, there was no guarantee that anything could ever be recovered from them. Often, units track the status of awards recommendations in desktop databases, spreadsheets, or even PowerPoint charts.
Millions of dollars for advanced weapons systems; and $1.15 for infrastructure. -
RE: Adventures of Sharky! - Cheaper is not always better or cheaper.
If true, amazing how someone will take a mission-critical (heck, business-critical) service and hand it off to someone they've never met, on the other side of the planet. But don't we all do that every day now, with cloud services?
-
RE: EU court ruling WTF
This sounds a lot like Nineteen Eighty-Four (the book by George Orwell) where the state edited newspapers, reprinting past editions of the paper in order to make the current reality appear as if it were better than the past.
From Wikipedia
At the Ministry of Truth, Winston is an editor responsible for historical revisionism, concording the past to the Party's ever-changing official version of the past; thus making the government of Oceania seem omniscient. As such, he perpetually rewrites records and alters photographs, rendering the deleted people as "unpersons"; the original documents are incinerated in a "memory hole". Despite enjoying the intellectual challenges of historical revisionism, he becomes increasingly fascinated by the true past and tries to learn more about it.
Except of course in this case, the "revisionist" is an individual, rather than the government. -
RE: EU court ruling WTF
@Buttembly Coder said:
@DrPepper said:
Well, duh; but how do they decide whether any particular page should be removed or not? And what if it's a blog that allows user comments, and I happen to mention this guy in a comment? Does the page get blocked then?How exactly would Google implement this? And how would the EU enforce this? For example, consider this guy with the foreclosure. Now there are a ton of pages/posts/blogs that talk about him and his foreclosure. Does google need to filter out ALL of these results? Or only the ones that mention him by name? I suppose you can filter out "Guys name" + "Foreclosure" but how about "Guys name" + "lost his house because he didn't pay the mortgage"? I just think this is a silly law -- that it's impossible to strictly filter out the results; and enforcing the law is impossible too. Think of a room full of lawyers from Google and from this guy, arguing over whether a web page mentions him and his foreclosure, or not.
Without taking a stance on the politics of this, I believe that Google is simply supposed to remove the links to the "offending" pages entirely, regardless of the query.
That is to say, www.example.com/foreclosureguy would simply not appear in the search results on Google.
Imagine the power that gives me -- I can keep anyone's blog post from google's search results simply by leaving a comment mentioning something that Google must block. (at least in the EU)
-
RE: EU court ruling WTF
How exactly would Google implement this? And how would the EU enforce this? For example, consider this guy with the foreclosure. Now there are a ton of pages/posts/blogs that talk about him and his foreclosure. Does google need to filter out ALL of these results? Or only the ones that mention him by name? I suppose you can filter out "Guys name" + "Foreclosure" but how about "Guys name" + "lost his house because he didn't pay the mortgage"? I just think this is a silly law -- that it's impossible to strictly filter out the results; and enforcing the law is impossible too. Think of a room full of lawyers from Google and from this guy, arguing over whether a web page mentions him and his foreclosure, or not.
-
RE: Not so real time, Real Time
@deathy said:
So we work hard at it, for 6 months, and we manage to make some headway
Who paid for this work? Hopefully the customer -- after all, everyone else is happy with the performance; and there is no reason to work hard for 6 months on something nobody cares about.And for 6 months; presumably the customer kept saying "no, not fast enough yet..." until finally he said "OK, that's fast enough".
If the customer paid for the work, and signed off on it, why do you care what he does with the results?
If, on the other hand, you did this work out of the goodness of your heart -- well, thats a WTF. 6 months of tweaking, when you could have been working on another product that actually might produce an additional revenue stream?
-
RE: What year is it? Let me check the database...
@anachostic said:
@mikeTheLiar said:
Why does it stop at 2010? Who knows.This application will NEVER be used for more than four years. But just in case, I'll go up to the next decade. We'll never hit it.
I retire in 2010; after that it's someone elses problem. Let them deal with it.
-
RE: GnuTLS library security is critically flawed
It's not so much the fix -- I'm sure that a number of people have contributed fixes by now -- but the fact that the GnuTLS code is in SO many systems. It's even embedded in Cisco routers! Distributing the fix to all the myriads of operating systems and programs that use it is going to be overwhelming.
-
RE: Loops in JavaScript are okay. JavaScript in loops is not okay.
@fennec said:
Here's a representative snippet of the internal app driving an Important Ongoing Interactive Business Process that I'm gradually rewriting to support new business units. This is in HTML::Mason, which is sort of like PHP or .erb for Perl, and in many cases would be TRWTF. But today,
data serialization/initialization is the name of the game.<script type="text/javascript"> <% $js_releases_array_name |h %>[<% $id |n %>] = Array(); % for my $release (@associated_releases) { <% $js_releases_array_name |h %>[<% $id |n %>].push('<% $release->{url} |n %>'); % } </script>
Use a modern javascript framework like angular or knockout and do all this crap on the clientside.
-
RE: TRWTF is PHP
@dkf said:
@Buttembly Coder said:
TRWTF is that you're trusting PHP code...
There's nothing about PHP that couldn't be fixed by investing in advanced physics, building a working time machine, going back in time to the early '90s, and killing the developers of PHP and all their families.
They said that about Hitler too -- until they realized that if they bumped off Hitler, you'd just end up with someone that was even more evil.
Be careful which language you kill -- you might just end up with whitespace or brainfuck as the replacement. -
RE: Subclasses in python: nailed it
@Arnavion said:
@DrPepper said:
Essentially, there is code in TestCase that calls it's own Setup and Teardown methods, but TestCase replaces (the references to) it's own Setup and Teardown methods with (refererences to) the subclasses Setup and Teardown methods. Sort of like, in C#, where the superclass has an abstract method, and it's subclasses must implement that method.
Wrong. aikii already posted in the OP what the code does, which is the other way around from what you wrote. The TestCase constructor replaces the setUp and tearDown methods of the instance (of the sub-class; remember that the "self" reference in the TestCase is the sub-class instance) with a composition that calls the corresponding methods in TestCase first. Essentially, as the OP said, this allows the sub-class to not call super.setUp() in its own setup().
This is not like C# abstract methods. This is more like a class hierarchy that wants the base class's method called from the derived class's method, but instead of relying on the programmer to call base.Foo() inside SubClass.Foo(), the base class uses reflection to change SubClass.Foo() to do that.
Also no this is not a good thing and shouldn't be done. If you write a base class that has a method you want sub-classes to override but still call the base implementation, then just document it to be so.
Yeah, what Arnavion said. But the point I made is still valid -- the goal is to have things "just work" when writing unit tests, without having to worry about wiring up your setup/teardown methods to those of the base class. It's meant to make writing new unit test classes as frictionless as possible.
-
RE: Subclasses in python: nailed it
@Mcoder said:
@aikii said:
My best guess is that it allows the subclasses to never call super()
Of course, in Python you can't ever say "never", but yes, that'll replace the setUp and tearDown methods of every instance of every class that inherits this one with the composition of this class' methods and the subclass' methods. Also if you instance TestCase, those methods will run twice.
Looks like a way to hook a logger into the test cases.
When writing unit tests, it is common practice to move as much of the test setup as you can out of the actual test and into test setup and teardown methods. The test framework ensures that the setup method and teardown method are called before and after each test run.
Looks to me like this is a way of creating another class, a "test superclass" if you will, that has setup and teardown methods; the setup method would be run before the setup method of the test class.
This is useful in a lot of ways. For example, I can have my test superclass create a logger. Then each of my unit test classes can inherit from the superclass, and presto -- each test has access to a logger. Since these superclasses can be chained, I could add a superclass that configures mock objects -- a date/time mock, a database backend mock, etc, and chain them. Now presto -- the test class has access to a logger, mocks, etc; and if I want to create a new test class (to test a new feature) I have very little coding to do to get my new test class going.
That's the name of the game -- make it as frictionless as possible to stand up a new test class, and begin writing tests for a new feature you're developing.
Rather than ridicule this particular piece of code, it is worth studying to see how it was implemented. It's an elegant way of providing method chaining/overrides/behavior injection that could be useful in your ordinary code.Edit:
While the above is perfectly reasonable and you could write code to implement the above, I spent more than a few seconds just now to re-study the above code, and it's working slightly differently.If you have a class that inherits from TestCase, the above code allows you to write a Setup and Teardown method in your class, that TestCase knows about. Essentially, there is code in TestCase that calls it's own Setup and Teardown methods, but TestCase replaces (the references to) it's own Setup and Teardown methods with (refererences to) the subclasses Setup and Teardown methods. Sort of like, in C#, where the superclass has an abstract method, and it's subclasses must implement that method.
-
RE: What is this "script" you speak of
Everyone else missed this:
@Ben L. said:<!--211 JSON parsing failure at character 1:'<' in <!-- AddThis Button Begin -->
So there is an error in the javascript, which is intended to display the iframe I'd guess. So nothing happens.
-
RE: Seagate hard drives have 120% failure rate
@Maciejasjmj said:
@El_Heffe said:
You install 100 drives. They all fail and you send them for repair/replacement. You receive 100 new drives and 20 of them fail.
120% failure rate.That seems like a correct explanation if we take into account that it's the annual failre rate. Which would mean that on average, every year, all your drives will fail, and 20% of your replacement drives will also fail.
Also, that scares me, I have a Seagate HDD.
Seems correct to me too. We're talking "drives that failed over a period of time", not "how many drives have failed". Suppose you have 100 drives, and exactly one fails each day. So at the end of the first day, 1% failed; at the end of the 2nd day, 2% have failed, and so on. At the end of the 100th day, you have 100% failed. What happens on day 101? Well, if you replaced drive #1 when it failed, and drive #2 when it failed, then at the end of day 101 you have 101 failed drives. Is that 101 out of 101, or 101 out of 100? Depends on how you're counting. I'd look at the number of slots I have (100) and the number of failed drives in my garbage pile (101) and call it 101%.
-
RE: Custom flooring
- putting the return type on the previous line
- Naming the variable "count" when it's not counting anything.
- providing a constructor for rat_num that takes a (presumably) floating point number, and converting it to a numerator/denominator pair.
- Providing a operator-/ that divides one rat_num by another; when the language has a perfectly good implementation of / that divides two floats.
- Creating a rat_num object just to see if x/y is an int;
- Not checking to see if increment is 0
- Thinking that this implements "floor", which typically operates on a single value. Rather, it's "find the number closest to, but not less than, value, which when divided by increment, yields an integer. "
- Not making this a method of the rat_num object
- The usefulness of this method escapes me completely. Something like, for value=1200/7, and increment=8/5, "reduce value to a number y, where y = x * increment, where x is an integer. What does that actually accomplish?
- putting the return type on the previous line
-
RE: So there's this art installation near my workplace.
@Brother Laz said:
@Brother Laz said:
Who thought anyone would want to "warm up (...) climate"?
I can easily imagine someone who spends a lot of time around icebergs wishing for a warmer climate. Or anyone experiencing the wrath of a POLAR VORTEX.
Ironically the temperature hasn't even come NEAR freezing here.
Darn Americans, keeping all the cold for themselves.
Instead of a white Christmas, we got a rainy one with two weeks of
strong winds and occasional property damage.
There's plenty to go around, come on over and get some! It shrinks down easily to fit into your carryon... -
RE: So there's this art installation near my workplace.
A couple of comments come to mind:
-- If I can do it, then its not art (Red Green)
-- A suitcase and a empty plastic bottle in the center of an otherwise empty room is "art" (seen at the Walker art museum in Minneapolis -- http://cdn1.walkerartcenter.org/static/cache/6b/6b0b68afe5bae931b5c4f63040aa193c.jpg)
-- And yes, "art" shouldn't need instruction or explanation. -
RE: Updatez to Axis the Webz
Frack. A new computer is a couple of hundred bucks; certainly the time you've already spent getting this to work is at least that much. Just say "oh, it's broken" and buy them a new computer already.
-
RE: Representative Unit Test
Forgot the important part of the red-green-refactor: start out RED.
Anyone can write a test that can trivially pass; it's the good guys who write a test that fails!
-
RE: More fun with floating points
By about the 3rd line of this code, I'd be thinking -- there must be a better way of doing this. Converting a numeric value into a string for further processing is almost always a code smell.
-
RE: Accidentally becoming the bad guys
@TheCPUWizard said:
A story with many sides.... This type of outcome is something that should be considered up front. Consider if future opportunities present themselves with other vendors... but they have heard of this situation and decide that you are the "bad guys" (though I see nothing wrong per-se).
A few years ago a person I had worked with approached me about going our company. He had left a place we did business with, planning to go to another firm, and then decided it was a bad move (I agreed)... We did NOT hire him, specifically because of the possibility of negative perceptions [I did help him find a position that he really loves!]
I work as a consultant at a very large manufacturing company. The company has very specific rules about enticing/hiring people from companies that do business with it; essentially it boils down to "don't ask anyone to work here; don't mention any job openings here; if someone you work with wants to join us, forward their name to HR and go back to work". Prevents all kinds of perceptions about conflicts of interest. -
RE: What's another word for failure?
@Lorne Kates said:
SO I PUT UP WITH IT.
Hi Lorne. This morning I posted a glowing praise of your work on the Halloween entry -- beautiful stuff. NOT AT ALL LIKE THIS POST. Way to take yourself down a couple of notches. First, open office is not meant to be a word clone, so get over it. Second, if you don't see a feature you like, you can write it yourself. It's open source, after all. Third, why do you feel you need to swear at people who are giving you their software for free. If it doesn't meet your needs, you're free to use some other software. So get over it.
And I'll just take back my opinion, not about your article, but about yourself. You can be polite to people, help them out, and maybe even donate some money to get the features you want. Verbally raping them is not going to win you that right-click theosaurus. -
RE: Support this system. Also, you're not allowed to change anything.
@MoSlo said:
began an initiative to action all un-actioned action items
The funniest thing I've read all day. Bonus points for using the word "action" three times in one sentence.
Lets create a contest -- make up new meanings for words rather than use the ones that are already there. First entry: "Decided to fix the broken things" becomes "began an initiative to action all un-actioned action items".
I'm still not done laughing my head off. -
RE: Injection of WTF
- I'd be really pissed if Comcast decided to add content to a web page requested from a site other than Comcast. Like, REALLY pissed. I'd look carefully at their terms of service, to see if anywhere they say they might do that. If not, send a strongly worded letter.
- Take what comcast says with a grain of salt. Several times now, I've been "informed" that my cable service will terminate if I don't get a cable box (with the requisite fees, of course); but I'm still going strong. I have just minimal cable (the cheapest cable I can get) and that might have something to do with it.
If it were me, I'd just wait them out; then when (if) my internet service goes down, call them and require them to come out and fix it. If they tell you you need a new modem and that you were told that, feign ignorance. See what hoops you can make them go through to remain a customer of theirs. There's always other ISPs to go through.
- I'd be really pissed if Comcast decided to add content to a web page requested from a site other than Comcast. Like, REALLY pissed. I'd look carefully at their terms of service, to see if anywhere they say they might do that. If not, send a strongly worded letter.
-
RE: I love shooting myself in the foot
Here is what I missed in the OP's description of the project:
There is a lot of talk about "how" but not "why". Certainly, the app could be written; and almost certainly, it would work as described. BUT why? As in, WHY would anyone want to use this?
I'm watching TV; I hear some story. I immediately go to my phone then:
Launch this app
Log in to twitter
Make up two hashtags (a location tag, as if anyone knows what "#LNKNE" is; and a hashtag for the story)
Type in my comment
Switch over to twitter to see if my comment made it there
Switch over to facebook to see if my comment made it there
Open up a browser and navigate to the TV site and, after a lot of fumbling, go to see if my comment made it there
Go back to twitter and see if anyone read my post, and read what others wrote
Go to the "offsite feed" website to see what, if anything, anyone else said
Vs: Have twitter running on my phone; as I'm watching the news, I post a note to twitter; and follow up with everyone else that I follow who happens to comment on that story.
I just don't see any compellling reason for anyone to USE this app to post a comment. I don't see any compelling reason for a news organization to accept posts from this app. -
RE: "backslashes are the way forward"
I often hear ads on the radio for some website or other; and the address is given as "www dot somesite dot com BACKSLASH radio"
-
RE: Assault WTF
OK, why is this on TDWTF? Certainly it deserves discussion, but I fail to see any "Curious Perversions in Information Technology" in this discussion.
-
RE: I demand free WiFi!
@Helix said:
.... the building reception is below the business lounge and I can hear the woman screaming, I have a look down the stairs and she is screaming at a poor receptionist lady .....
That's like going into the car dealership and yelling at the receptionist there about the parts of your car that aren't working right.
-
RE: 18kB of HTML, 208kB of JavaScript, 63kB of CSS
It's a "GoDaddy Instant Page" so I'd expect a lot of cruft in a generated page.
-
RE: Recruiter copy-pasta
Looks like they're unable to find someone to fit the bill, so they ADD more requirements and LOWER the pay rate? I wish all job listings were this forthcoming.
"Gee, we made an offer but the candidate declined. We want to move fast, but no one is interested in this job. Having a hard time finding a candidate. Maybe they know that we're a WTF company??? I know, lets prove to everyone this is a great place to work, by lowering the pay rate offered!!!" -
RE: Recruiter copy-pasta
@Ronald said:
@corgimonster said:
Ronald, are you here in Minnesota? Sounds like you know the region...Local candidates only.
@corgimonster said:
Limited competition at this point.
The vibrant and dynamic .Net/JS community in Eagan, MN has that gig locked in. I hope they bring that up during the next meeting of the EDNUG which according to the newsletter is supposed to take place at Axel's Bonfire on Cliff Rd next Tuesday (Ladies welcome).
-
RE: Insightly
I'm using office365 (microsoft); the sign-in page has a "keep me signed in" checkbox too. Each day I come back to work I have to log back in. Same thing, I guess.
-
RE: Trolled by Paper.js
They're not tadpoles; the quote "My boys can swim!!! (from Seinfeld) comes to mind.
-
RE: Government Shutdown
@FrostCat said:
The fact that there is so much waste--while troglodytes like Nancy Pelosi claim there's nothing left to cut--is why so many people have a hard time getting worked up about this slimdown. You are wasting tons of money already, and borrowing a trillion dollars a year to do it, but you can't find something to cut?
Most of the federal government employees should be fired with prejudice, and start over from scratch.
In our (Minneapolis) paper today: The federal government lent a sugar processor (Crystal Sugar) a huge amount of money during the downturn to keep them from closing. To repay that loan, the sugar company repaid the government with $25 million dollars of SUGAR which they then turned around and sold to a ethanol producer for $5 million. This is YOUR GOVERNMENT losing $20 million in a matter of a few hours. [http://www.startribune.com/business/226011811.html]
Quote: Crystal Sugar had borrowed $71,790,000 from the USDA in fiscal 2013 to run its sugar processing plants, putting up 300 million pounds of sugar as collateral. Before Tuesday’s forfeiture, the co-op sold the USDA 105 million pounds of beet sugar for more than $25 million. The government immediately resold that sugar to biofuel producers for about $5 million, a $20 million loss to the government.
Quote: Crystal Sugar’s decision came a day after the government announced that it had lost $53.3 million buying sugar from companies across the country and selling it to biofuel producers. The $53.3 million loss was considered necessary to limit the amount of sugar borrowers would use to pay back loans.
I can't possibly see how this would lead to a budget overrun...
-
RE: Government Shutdown
@koek said:
Moreover, why is the NSA exempt? They've been unable to find the one nefarious guy with a pressure cooker in time, so no harm done if they go home for a while.
Dear Mr. Senator: if you shut down the NSA, we'll reveal the phone records we've been keeping on you. There are some suspicious calls to a woman named "Bambi" I'm sure you wouldn't want public. -
RE: Just right? What's that?
@Lorne Kates said:
@DrPepper said:
1) Your vendor is charged a fee per transaction; and of course the vendor passes that along to you; so you pay more than you otherwise would have.
Yes.
@DrPepper said:
2) You pay interest on what you owe; so you're really just getting a portion of your interest back. Wow -- you pay discover 17% interest then are excited when they give 5% back.
You carry a balance? Oh. Umm-- good for you?
@DrPepper said:
3) Because everyone pays that same price (regardless of whether they use Discover or not), there are lots of people paying a higher price than they otherwise would have, to subsidize the Discover car people. THAT should make you feel good -- or bad, depending on whether you have a Discover card or not.
So other people pay for my reward? I guess I should cackle evily at that one. I LIVE OFF OTHERS!
Of course, if the merchant hadn't hiked the prices because of Discover, they would have hiken their prices to fund their own "customer loyalty" system, if you want to use it or not. Or to pay for a plastic bag disposal fee. Or pay for something else that would only be used by a select portion of their customers but effect all of them regardless.
So there's that?
Uhh -- I've carried a balance on my CC for many many years. Seems like the kids always need something, or the car breaks down, or a vacation comes at the wrong time. Hey, just remember I'm one of those people who are helping fund your cash back.
There are certainly costs of doing business. If you walk into McD's and get a value burger and value fries and pay with your CC, the restaurant loses money. Whether it is the plastic bag or the cost of heating/cooling the store, in the end you're paying for that too. Its just that people (but certainly not the WTF reader) who think that the 5% cash back is "free money" when in fact you're just getting back a portion of what used to be your own money. -
RE: Just right? What's that?
@russ0519 said:
@Ronald said:
@Pascal said:
I have a MasterCard I use for places that don't take Discover.
Why do you use Discover? That's like driving a Subaru. Wtf.
Discover is becoming one of the best cards right now. Next quarter you get 5% back on online shopping, this is in addition to the crazy cashback that they offer on shopdiscover. The cashback can be redeemed for things like giftcards for staples at 80c per $1. So you get a $25 GC for $20 in cashback. They also seem to have the same extra benefits that amex does (purchase protection, double warranty, etc).
And while there are a few places that still don't take discover, those places are becoming fewer and fewer these days.
Consider where that 5% cash back comes from:
- Your vendor is charged a fee per transaction; and of course the vendor passes that along to you; so you pay more than you otherwise would have.
What if this fee was a tax instead: First you pay the government 10%; then the government gives you back 5%. Wow -- you got back half of what was taken from you. Feels good, doesn't it?? - You pay interest on what you owe; so you're really just getting a portion of your interest back. Wow -- you pay discover 17% interest then are excited when they give 5% back.
- Because everyone pays that same price (regardless of whether they use Discover or not), there are lots of people paying a higher price than they otherwise would have, to subsidize the Discover car people. THAT should make you feel good -- or bad, depending on whether you have a Discover card or not.
- Your vendor is charged a fee per transaction; and of course the vendor passes that along to you; so you pay more than you otherwise would have.