Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×

Comment Re: American priorities (Score 3, Informative) 240

That's bullshit, especially in this case. State-owned monopoly has no reason to compete with anyone. There might be some exceptions, but I live in Prague and the services used to be absolutely terrible until other companies started to offer these services around 2000 - cable, ADSL, wifi etc. It's much better now and most people have multiple choices. Btw the telco is not owned by state anymore, it was sold to Telefonica a few years ago.

Comment He did not take it down! (Score 2) 432

... and when he refused to take it down, the chain of hotels sued him for $95,000. [quoted from the very first sentence of http://blog.sweetiq.com/2013/08/hotel-sues-guest-for-95k-over-bad-review/%5D

So the review is still there http://www.tripadvisor.com/ShowTopic-g155033-i134-k6703172-Bed_bugs_lawsuit_by_hotel_as_a_result_of_bad_review-Quebec_City_Quebec.html

Anyway, good job Hotel Quebec! Streisand effect at it's best ...

Comment Re:It was a myth (Score 1) 986

nationalism - ideology based on the premise that the individual’s loyalty and devotion to the nation-state surpass other individual or group interests. [http://www.britannica.com/EBchecked/topic/405644/nationalism]

I don't see how a statement that there are significant cultural and value differences between nations (or even within nations), rendering "Europeanism" so vague it has almost no meaning, makes it nationalist. No one said that one nation's culture or values are somehow better that the others', or anything like that. So what exactly do you consider nationalist?

It's true that a lot of people in the Europe share a lot of the basic values, no doubt about that, but OTOH that does not make us a nation.

Anyway, I've merely pointed out that the statement "You must be European. Europeans tend to be so smug about themselves that they miss the irony in their own statements." is rather annoying because it applies the same overly generalized statement to all people living in Europe. Heck, I can't even think of a European nation that is somehow exceptionally smug about themselves ...

Comment Why not to try to work around these issues? (Score 1) 986

I'm really wondering why not to circumvent this in some way. Say moving Groklaw to a country that is "out of reach" for the US government (not sure if there's one).

A more general question is what are a viable alternatives to e-mail. Everyone talks about how it's impossible to keep privacy with current email, because even if you encrypt the payload the headers are still plaintext, but I haven't seen anything solving this issue so far. It shouldn't be that hard, I guess - after all the headers don't really matter to the MTAs, except for the "to" so moving them to encrypted payload should not be a big issue (but maybe I'm naive).

Comment Re:It was a myth (Score 5, Insightful) 986

If there's one thing that really annoys me on people from US, it's talking about Europeans. There's no such thing (no matter how much the European Union denies that). Europe is a geographical group of ~50 countries that are very (very very) different in all aspects. Did you know that Azerbaijan, Belarus or Georgia are European countries? (I have nothing against those countries, I'm just trying to explain that assuming all countries are like France, UK or Germany is pretty much nonsense). It's like talking about Americans when actually talking about people from Brazil, Argentina, Mexico and Canada because thay all live on continents with "America" in the name.

Even this "We are the best!" bullshit is present only in some of the countries. That does not mean the people in the other countries are not proud of their country, they just don't treat the others as crap. I'd bet it works the same way in the US, btw - most people genuiely proud of their country/state and a few nationalist loonies (which get the most in foreign news, so the impression is quite distorted).

Comment Re:500 USD? (Score 1) 266

The nastiest (security) issues I've stumbled upon usually happened at the boundary of multiple components (developed by various teams and therefore multiple individuals). None of them was really the single offender, it was mostly about incorrect assumptions / pieces reimplemented through the lifetime / specifications not detailed enough (well, is there such thing as a complete specification?). And those are the most difficult issues to debug / identify.

So "fire the guy who wrote the offending code" may not be as simple as it sounds. And even the best developers I know do a mistake from time to time.

Comment A great way to alienate the white-hat community. (Score 5, Insightful) 266

Good work, Facebook! Kinda resembles what happened at GitHub ~18 months ago: http://www.zdnet.com/blog/security/how-github-handled-getting-hacked/10473

If someone from Facebook reads this, and it's TL;DR; here are the next steps:

#1 apologize to the guy, acknowledge he reported the issue twice
#2 reinstate the account and pay him his reward
#3 fix the damn issue

Comment Re:what keeps us from switching ? (Score 2) 372

Stored procedures can be very efficient sometimes, but often, they just add additional load to the DBMS server that could have been distributed among application servers...

This, however, is mostly nonsense. It's true that stored procedures may add load to the DBMS, however it's equally true they may significantly reduce the overhead. What's more efficient - transferring 1M rows to an application server and handle it there (often submitting the result back to the DBMS as a parameter for the next query), or just process it locally within a stored procedure? Not to mention that the "application servers" usually manipulate the data using languages that are very poor match for such operations (which is basically everything except for SQL).

The first line of defense against loading the DBMS server is to start with intelligent queries and organization. Logic should avoid chewing through millions of rows in a programmed manner no matter which machine the chewing is done on. The DBMS is optimized for information retrieval and updating, and stored procedures can potentially interfere with that optimization. So rule 1 is to reduce what gets acted on. If you do that, the relative overhead of pushing it out to client machines is less of an issue and even the fact that the client machines are probably going to be less powerful won't matter as much, because there will typically be more of them to share the computing load. Because they're also likely to be less expensive machines, the next cost per computation is often lower as well if the DB server's CPUs are being efficiently used.

Intelligent queries and organization - sure, no argument here. However there are cases when you really need to chew through millions of rows, and doing that in SQL directly without imperative code is nearly impossible. And I wasn't saying that it's a good idea to replace queries with stored procedures - that would be the dumbest thing in a relational database (which is exactly about running queries). If you can write a query solving your problem well, don't write procedures. No doubt about that.

I think we're both speaking about different cases, though, so I'm missing your points and you're missing mine. I'll illustrate my reasoning by an example of an actual project that I had in mind ...

About 2 or 3 years ago I was asked to help with a project in serious troubles - many things went wrong during the development, from starting the development on MySQL+Tomcat and switching to Oracle+Jboss, to heavy usage of Hibernate mixed with crazy "optimized" SQL queries.

The largest problem was that they needed to monthly balancing (it was a system for managing retail network). The business process behind this is rather complex, and the process steps need to work with large sets of rows (chew through all the transactions for all sales, salesmen, branch ... and handle each transaction according to product type, if it's a cancellation or not, what were the previous transaction for that person, ...). Doing this in a single SQL query might be possible, but it would be incomprehensible, unmaintainable, ... a bit of imperative programming is a better match here.

So the developers decided to do this on the application server, and to mess it up as much as possible, they used the Hibernate definitions optimized for the front-end (lazy fetches everywhere, ...). The result? Gigabytes and gigabytes of data were moved back and forth, the process was running for unpredictable amounts of time - sometimes 12 hours, sometimes 60 hours (which is rather unfortunate as it's longer than a weekend). Even if they optimized the Hibernate mappings heavily for batch processing, it would probably run for hours (although probably more predictably), the application server would scream in pain etc.

This is the exact place where stored procedures are a good match - with a bit of PL/SQL and Oracle magic, the whole closing was running in 3 minutes, no load on the app server, light load on the database.

If you had poor development practice (and the fact that you are saying that "stored procedure code is also not as likely to be version-controlled" strongly suggests this), then sure - it might be nightmare. But it's not a fault of stored procedures but purely your fault.

I'm not going to accept fault on that, because I don't do stored procedures except in cases of compelling need. But whereas applications in C# and Java are typically managed by an IDE and bound to a Version Control System, every database system I've had to clean up after basically had someone editing the procedure in the equivalent of Windows Notepad and jamming the code straight into the database with no local project management at all. A few DBMS's have the ability to retrieve earlier generations of database objects, but it's the exception rather than the rule.

In short, I'm making my recommendations based on what I commonly come in and find has been going on, not on what would be the case in an ideal world.

Which is exactly what I was speaking about ... a reasonable policy means that you have all the source code stored somewhere and versioned properly (Git, Subversion, VSS, ...). Even the C# IDE just stores the files somewhere on disk, and these files are stored somewhere in a versioning system. If you're jamming it directly into the database, without then storing it in a file and versioning it along with the rest of the source code, you're doing it wrong. While some DBMS systems have some built-in versioning, it's not a replacement for proper versioning of the source code. How can you even do a basic QA in such environment? How do you build a testing instance for unit testing?

Slashdot Top Deals

Understanding is always the understanding of a smaller problem in relation to a bigger problem. -- P.D. Ouspensky

Working...