Slashdot is powered by your submissions, so send in your scoop


Forgot your password?
Check out the new SourceForge HTML5 internet speed test! No Flash necessary and runs on all devices. Also, Slashdot's Facebook page has a chat bot now. Message it for stories and more. ×

Comment MySQL Requires Eval (Score 1) 600

MySQL will not allow table names to be passed in as parameters to a stored procedure [1] [2] [3]. Without eval, there is no way to dynamically use a stored procedure to operate over multiple, different, tables without enumerating all the tables. The code needed for the "safe" approach is massively bigger, n * m, where m is the body of your stored procedure and n is the set of tables you want to operate over. It also requires such a massive degree of code duplication to make it significantly less safe.

We have a reporting system called MyDBR that requires everything to be done in MySQL or JavaScript. Likely, a stored procedure isn't the best answer for my problems, but it's better than JavaScript. Probably the "safest" answer is to throw away MyDBR and use an actual programming environment to accomplish what I'd like (sane reporting.)

The entire premise of this article seems odd to me. Who would forget these techniques, unless they never really learned them in the first place? And why would the author want to revisit them? I think because it was a slow news day.

Comment Re: "Missed a lot of e-mails" (Score 1) 66

This is the problem with other people's money (OPM.) I don't think it much matters if the money comes from crowd funding, tax payers, or more traditional investment, when money comes from someone other than a paying customer (that values your goods or services, now, more than their money, now) there is often times a disconnect.

Comment Re:Hard to put a finger on it... (Score 2) 587

Do you have equity? If not, then what incentive do you have for caring about the success of the venture you're involved with?

I own my own company now. Before I owned my own company, I realized that my success, and the success of the organization I worked for, were tied together. If I succeeded, and the company did not, that would be very short term for one of us. The same if the company succeed, and I did not. This is how Americans, with any understanding of economics, sense of connectedness, and general work ethic, view things. These understandings, like the one I outlined to you, and a myriad of other (relatively implicit) understandings, are why I choose to hire American workers at 3-5x what their outsourced counterparts would make. - [and I speak Russian.]

I want to succeed, and see everyone around me succeed, through our hard work and diligence. This is typically a value that Americans hold. This is not a value shared by other cultures, and other societies. Studying Russia, and Russian, has helped me analyze their culture, as well as question a number of the assumptions most people hold about ours.

Comment Re:Learn How to Sell (Score 1) 435

As soon as I heard the intro song, I knew things were not going to end well...

Before the video:
        "Brian, want to come to our startup pitch event?"
        "Will each team have an intro song, and it will be crazy high energy for no reason?"
        "No, that's dumb. We're not going to do that."
        "OK cool, I'll come and drink some free beer. Thanks."

After the video:
        "Brian, want to come to our startup pitch event?"
        "Will each team have an intro song, and it will be crazy high energy for no reason, LIKE THIS?"

Thanks for sharing that with me. I am seriously going to use that video when people invite me to startup events.

Comment Learn How to Sell (Score 1) 435

I believe it doesn't matter how awesome you are at the latest and greatest programming language, or how skillfully you can apply a binary search to an interview problem, if you cannot understand why you are applying technology to help someone. If you can understand the need for software, then all of those other points are much easier to improve on, and apply.

For me, what made me a better programmer (past the bachelors, masters, in computer science, and six years of hardcore, full time, programming) was selling. Not taking management classes, and learning about selling but actually selling software. To sell, you have to understand someone else's need. You have to understand it well enough to sell yourself that you can help them, and then sell them on your belief. This is the good kind of sales. Everyone has seen amazing software products that were shelved, because they didn't meet the need of someone evaluating them. If you can understand how to help someone, with technology, and convince them you'll remove their pain, you'll be able to write your own ticket.

Hustle on the terrible online job boards. Compete with the low cost 3rd world at a fraction of what you're currently making. Then, once you can pitch without sounding completely retarded, try it in person. And you'll fail. Again and again. That's the cost of tuition. Eventually, you won't fail at selling. Talk with people that know how to evaluate an offer, and a technical solution. The problems you'll see, once you really understand your customers, are very rarely that complicated, novel, and difficult, and (for my company that is general development without much of a specialization past very general open source) don't usually require much beyond best practices and a very rudimentary knowledge of efficiency. This is because most of the people that can sell are absolutely terrible at coding, and the people that can code are absolutely terrible at selling.

“Would you tell me, please, which way I ought to go from here?'
'That depends a good deal on where you want to get to,' said the Cat.
'I don't much care where -' said Alice.
'Then it doesn't matter which way you go,' said the Cat.
'- so long as I get SOMEWHERE,' Alice added as an explanation.
'Oh, you're sure to do that,' said the Cat, 'if you only walk long enough.”

I vote you learn how to sell. You'll be able to sell yourself to an employee much easier, if that is your eventual goal.

Comment Re:That's Heavy (Score 1) 202

I was at the Lunar Lander challenge, for the X-Prize a few years ago.

The problem with being at a "safe distance" is that it is so far away that you can barely see anything, except when the rocket is REALLY high up. We watched the entire thing on gigantic TV monitors, despite being "there." It's still a cool experience - sort of like a music concert, except for science, but don't think being there will give you a good view (at least not if you're a safe distance away!)

Comment Re:nice video, but the launch seems backwards (Score 1) 202

That depends entirely on the level of disciple present in the colony.

Countrymen, the long experience of our late miseries I hope is sufficient to persuade everyone to a present correction of himself, And think not that either my pains nor the adventurers' purses will ever maintain you in idleness and sloth... ...the greater part must be more industrious, or starve...

You must obey this now for a law, that he that will not work shall not eat (except by sickness he be disabled). For the labors of thirty or forty honest and industrious men shall not be consumed to maintain a hundred and fifty idle loiterers.

John Smith, Jamestown

Comment I Don't. (Score 5, Insightful) 159

You are talking about somewhere between $50-$100, right? You walk away from it, and realize that your time could (HOPEFULLY?) be better spent on more productive things.

When a small store gave me incorrect change, and was unpleasant about the correction of that error, I walked away and never came back. Anything else would have not been worth my time. Unless you want to turn this into a hobby, I suggest you take a similar approach. Whenever anyone asks me about that store, I tell them a similar story, and advise them to go to a different store. That alone cost the store far more than when they jacked from me on my change. It was the store owner that robbed me.

Comment Never - But Because Your Definition of Unnecessa.. (Score 3, Interesting) 239

If you believe that code will help someone with understanding (yourself included) then it is necessary. It is needed to help with clarity. It may not be strictly required for the correctness of your program, but your goal should not be to express the correct solution as succinctly as possible. That approach leads to many other problems.

Occasionally I include solutions for problems which have not yet been uncovered. Those methods may not be called (dead code) and any kind of static analysis would report them as "unnecessary." If I make the decision that such code will help me, or help someone else, later then I believe it is totally necessary, and good to include. Worse-case is that it will be a good starting point for someone later, and they will throw it away and replace it with something better.

Never include unnecessary code. If there are incorrect implementations that you are replacing, remove the incorrect ones! Don't leave traps lying around for people to get caught in. Unexecuted code, or not succinct code, is not unnecessary. I constantly include semicolons, and brackets around one-line conditionals - those are defensive practices which are designed to prevent future problems, and aid in clarity.

This is why people are hiring you - to apply human intelligence and judgement to a problem. There are situations where doing not strictly necessary things is appropriate, and situations when doing not strictly necessary things is a waste of time. It's up to you to decide. Different actions are necessary for different metrics. One thing may be necessary for a correct solution, and another thing may be necessary to help someone else understand your correct solution. Everything should be useful (necessary?) under some kind of metric.

Comment Maintenance vs New Creation (Score 1) 331

How often is it that you have a brand new system, in which you get to choose your language? Unless you are independently wealthy, or part of a funded started (indirectly independently wealthy, partially) the answer is probably not very often. Whenever someone has a brand new, completely open, technological problem, they have a green field.

This is not very common, at least for me. I have a BS + MS in computer science, worked for three years as an employee in two companies, and now own my own small software company (with two guys I pay to write code for me) and have been in business for myself for four years. I charge enough money to pay my people, and my bills, through revenue. That means, by definition, that my customers have to be able to pay. I live in a poor state, without a tidal wave of venture capital. Almost everyone here has a legacy system, which is generating them money, which they can use to pay us. Those systems come with constraints.

There have been three times in my 10+ years of experience creating software during which I was able to 100% choose everything technology related for a project. Once was part of a barely funded start up. The other was part of a successful business that contracted with my company to greatly expand their eCommerce, completely scrapping their existing system and letting me choose everything. The third is ongoing - a customer described their problem in a high level, and nothing existed to solve it. For the third example, I am bound by (light) constraints regarding the other system we are interfacing with, and it has to be web-based. Otherwise, my more than full time experience, has been as a maintenance programmer, or as a manager over a team of maintenance programmers. This guy is way more eloquent than I am about the subject, and way smarter + more successful. Think about what the very successful people have to say about these kind of things.

I think different people, in different states, have different approaches. The most poorly organized organizations, and ventures, had very few constraints. They didn't have to answer to anyone about their technological choices, and typically had money to "build something." Sometimes that results in beautiful leaps forward, for humanity as a whole. I think most of the time it doesn't. Maintenance programming means you are maintaining something useful, for someone that is interested in paying you. You'll also learn new skills, and new languages / technologies / tools, just out of necessity, rather than being freely chosen, with no constraints.

Comment Auction (Score 1) 214

The authorities don't really want to "solve" this problem. There are many solutions for managing bots, such as CAPTCHAs and order limits.

One real solution is to auction off every ticket. The auction would begin as early as possible, and continue until the event begins. As soon as a ticket is bid for (requiring an escrow) the auction for that ticket would continue for another hour. If, at the end of that hour, no one else has bid, it goes to the last bidder. If someone else has bid, then it goes to them. They wouldn't have to wait for the entire hour to be up - they could place another bid immediately after the previous bid was placed. If the payment were not received / the escrow failed, then auction the ticket again.

I think you would see how tickets are actually valued by people that plan ahead if such a system were implemented. Scalpers aren't a problem in this system - they seem like a you-failed-to-plan-accordingly surcharge.

The problem is a timing disconnect between how the tickets are valued. This presents an opportunity for arbitrage, which scalpers capitalize on. The difference in timing, and relative values, presents opportunities, not a reason to throw someone in jail. It also presents an opportunity by which the ticket venues could actually try and understand these differences in timing, and increase their profits.

However, it's much easier to sell all your tickets, at like MAYBE 5 different prices, to one scalper than to actually think about novel distribution channels.

Slashdot Top Deals

Our business is run on trust. We trust you will pay in advance.