Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Comments

top

Future of Cars: Hydrogen Fuel Cells, Or Electric?

codealot The future doesn't help us today. (659 comments)

Hydrogen fuel cells might become viable in the future, who knows. That doesn't mean we shouldn't develop the technology, but in the meantime, we need alternate energy today, and you can buy and drive an electric car now. I plan to look closely at electric cars for my next vehicle. By the time (5-10 years) I'm ready for another, if fuel cells are available, I'll consider those too, but they don't help me now.

about 5 months ago
top

Ohio Attempting To Stop Tesla From Selling Cars, Again

codealot Re:Pretty Much. (387 comments)

You're talking about the party that screams about deficits and the federal debt when they do not control the white house, yet passes measures that raise the deficit when they are in power.

Thinking logically won't help you understand politics. Here are the rough priorities of the GOP party (and Dems for that matter):

- Tell voters whatever it takes to get (re)elected,
- Promote legislation that satisfies their campaign contributors (i.e. big business),
- Do whatever it takes to block the other party from getting elected (into *any* office).

Do these priorities sometimes conflict? Sure. Is that a problem? Only if you make it a problem. You see?

about 8 months ago
top

GCC 4.9 Coming With Big New Features

codealot Re:GCJ vs. JIT (181 comments)

Thanks. When you say:

Well, to point to evidence otherwise, if by JIT your taking about dynamic translation/recompilation for optimization purposes then no

That is the definition of a JIT I have always used, thus my confusion. All of the reasons you state are performance arguments against JIT, but there are other reasons for JIT compilation, including architecture independence. But since all the world's an x86 these days, that feels less important now than it did 15+ years ago.

Speaking of dynamic recompilation, back in 1998 or so I was running Windows NT on a Digital Alpha. Since there were few native apps, Digital included a translator to run Windows apps (Office etc.) compiled for x86 natively on Alpha, and I'm sure it was some sort of JIT. Those apps would run slowly the first time, but get noticeably faster the next 2-3 times they run. And it legitimately translated and ran the apps faster than a good Pentium Pro machine of the day. That was due to an edge that Alpha had over Intel, rather than software, but the hardware advantage didn't last long.

about 10 months ago
top

GCC 4.9 Coming With Big New Features

codealot Re:GCJ vs. JIT (181 comments)

1) Sure. When I said "performs very well" I mean within an order of magnitude. I've heard claims that JIT technology will surpass ahead-of-time compilation. I don't quite believe that either, and at any rate it's clearly not there yet. I didn't claim the JIT was equally fast or faster, but it's close enough that there just wasn't a ton of people interested in using a compiler like gcj.

2) I'm skeptical that JIT requires a GC (in the general case, though for Java it is clearly required by the JVM). Do you have a reference for this claim?

3) Yes, and of course real Java code does bounds checking too. Back when I was using gcj extensively, I was finding examples of duplicate array bounds checks, one added by the developer and one inserted by the compiler. A good compiler should be able to eliminate the redundant check. At times this is hard, such as when the caller does the bounds checking, and does so in a different translation unit.

4) Interesting. There are examples, such as the complex type, that would be far more efficient as a value object. But I agree with your point that passing objects that are too large as value objects is probably counter-productive.

Mostly I agree with your points. Especially that Perl is dog slow.

about 10 months ago
top

GCC 4.9 Coming With Big New Features

codealot GCJ vs. JIT (181 comments)

A good JIT actually performs very well compared to ahead of time compiling, and can take advantage of execution profiling (for things like branch prediction) by deferring compilation until the bytecode runs a few times.

The main advantages of gcj are improved startup times, porting to unusual architectures, and maybe for memory constrained targets.

When comparing C++ performance to Java, there are many things to keep in mind aside from the JIT compiler:

- Java also has GC overhead. You get a fairer comparison by adding garbage collection to your C++ app. The performance effects of garbage collection are complicated, but one of the difficult problems is that it tends to fill the processor data cache with useless entries.
- Java adds overhead required by the JLS such as array bounds checking or class initialization tests.
- Exception handling can also impact code generation. Java requires null pointer dereferencing (for example) to be trapped and handled, which adds abnormal edges to a CFG which places restrictions on e.g. instruction scheduling. Strict expression evaluation order, required by the JLS, has the same effect.
- Java has a more limited type system. In particular objects other than primitive types cannot be passed by value, which tends to result in more frequent memory allocations, more garbage collection, and more pressure on the memory cache than languages that can make more efficient use of the stack.

The biggest reason worked stopped on gcj was the release of OpenJDK, since one of the main reasons for gcj in the first place was to have a fast and free Java runtime. OpenJDK satisfies both.

about 10 months ago
top

HP's NonStop Servers Go x86, Countdown To Itanium Extinction Begins

codealot Re:I do often wonder what the point of Itanium was (243 comments)

Alpha and MIPS are completely different than IA64. Alpha was a true RISC chip with a fixed 32-bit instruction length, superscalar, out-of-order execution. IA64 was a VLIW chip with in-order execution that relies on the compiler to do anything efficient.

HP made a fatal mistake cancelling PA-RISC and Alpha in favor of IA64. The could have picked either of the other two as a successor, and have been better off as a result. Instead they chose a dead-end, probably because (at the time) it looked like the entire hardware industry would go that way. Before SGI, IBM, Dell and others backed out.

about a year ago
top

Interviews: Guido van Rossum Answers Your Questions

codealot Re:To answer GvR's question (169 comments)

I was a little surprised by GvR's answer to this. RHEL 6 ships with Python 2.6, last I checked, and we don't normally deviate from Red Hat packages without good reason. Getting the masses off pre-2.7 versions of Python will also entail releasing newer OS distributions and retiring older ones, both of which happen slowly.

Not everyone can keep up with the latest/greatest versions out there, especially when they have hundreds of servers and big legacy applications to support.

about a year ago
top

Apache Web Server Share Falls Below 50 Percent For First Time Since 2009

codealot Re:fork() vs epoll() (303 comments)

Why are you still using prefork? You have at least two good alternative MPMs, one of which can use epoll().

about a year ago
top

Using Java In Low Latency Environments

codealot Re:Python has advantage of Java (371 comments)

We have a ton of "enterprise" Java applications, from multiple *large* vendors, that we run at work, and they are the most buggy, slow, crashy things I have ever experienced.

Alright, I'm with you. I'll bet that any apps you get from those "large" vendors are going to suck, Java or otherwise.

And "enterprise" software? Our company is arguably an "enterprise", though I have yet to use any enterprise software that felt it was designed for us. I don't get that market at all. Don't sell me software that does everything, give me instead something simple that integrates cleanly with all the other software I already use.

Try hanging out in the open source circles, like some of the Apache Java projects, if you want another perspective. Then again, you probably don't. Just trust me... lousy software that happens to be written in Java isn't a reflection of Java.

about a year ago
top

Using Java In Low Latency Environments

codealot Re:From a sys admin's perspective (371 comments)

Perl faster than Java? Perl faster than .NET?

You've never benchmarked any of these yourself, have you? (Please tell me you're not talking about benchmarking some "Hello World" application that can be measured in microseconds...)

I won't go into details now, but Perl 5 is really *spectacularly bad* at runtime performance. Pretty much at the other end of the spectrum from C/C++/.NET/Java (all of which compile to native, whether ahead of time or JIT, and all of which perform in the same ballpark for typical applications).

about a year ago
top

Using Java In Low Latency Environments

codealot Re:JAVA could be great if it lost weighrt. (371 comments)

Wow, this is new. A rational, reasonable argument from a self-described Java hater... not just another "Java is slow because it's interpreted" or "Java is insecure" bullcrap post.

I've seen legions of developers grow frustrated with the gigantic frameworks and libraries that have grown up around Java, and react by abandoning Java and building something insanely simple in another language.

I wish just one of those guys would have instead tried abandoning the bloated frameworks and instead build something insanely simple in Java. I've done that, and found it very satisfying. But I'm aware I'm firmly in the minority having tried that, and in more than one case some other engineer grabbed my small code and bloated it up again.

about a year ago
top

Using Java In Low Latency Environments

codealot Re:Python has advantage of Java (371 comments)

"...by experience with Java apps is that they are incredibly slow, rather unresponsive and crash often."

Then you have no experience with Java application development. Or you're trolling, whichever.

Or possibly you're talking about browser applets, but that's not what this story is about.

If you don't have knowledge on the topic to contribute, why post at all?

about a year ago
top

Ask Slashdot: Is Postgres On Par With Oracle?

codealot Re:READ THE MANUAL FFS (372 comments)

You're kidding, right? We've been using MySQL replication for 10 years in production. Multi-master replication, statement-based and row-based. We've replicated between servers adjacent in a rack and servers that are separated by thousands of miles. And for the most part, everything Just Works.

The product may not be as academically pure, or whatever, as Postgres but that doesn't matter in a business setting. We use the tools that get the job done. On the other hand our team has been trying for the past month to get a Postgres (actually EnterpriseDB) instance to run in multi-master replication, or replicate DDL, without success. As far as we can see those are not supported features which make it almost useless to us.

It's comical how envious Postgres backers seem to be of MySQL's commercial success. And the quality of intelligent, thoughtful discourse on this forum is discouraging. Guess slashdot isn't what it used to be :(

about a year ago
top

Ask Slashdot: Is Postgres On Par With Oracle?

codealot Re:READ THE MANUAL FFS (372 comments)

Stop judging MySQL users. We use it because it has simple, foolproof replication. Period. And that's a damn good reason.

I know also what Oracle and pgsql can do. I've used both.

about a year ago
top

Oracle Discontinues Free Java Time Zone Updates

codealot Re:Java lost me years ago (405 comments)

Can't really agree more. My challenge is the "cool kids" come along and rebel against anything from the 90's. I've seen newcomers build in Python, Ruby, and (the latest) Node.JS.

All of those are interesting in their own right, but for what we do I don't see them really solving practical problems that we haven't solved before. Except for stroking someone's ego--that they seem to solve nicely.

And as pointed out elsewhere on this topic, it's not as though Java has stood still. The most common complaint I've heard is that Java is verbose and Java code has far too much boilerplate "junk" (I tend to agree for legacy code--things like useless getter/setter methods and needless interfaces drive me bonkers). Then I ask them, what have you tried in Java lately? If you try to write compact, readable, maintainable code, you'll find it's not only possible but straightforward. Pick a few patterns that work well for you and stick to them (like chaining methods together as a builder pattern--one of my favorites).

about a year ago
top

Oracle Discontinues Free Java Time Zone Updates

codealot Re:Java lost me years ago (405 comments)

Java gets a bad rap (and Oracle doesn't help) but there's nothing wrong with it per se. If I had the choice of starting a project in C, C++ or Java I'd always pick Java--call it obsolete if you want but those alternatives are archaic. (And I'm not fully sold on interpreters languages either, partly because my applications are very sensitive to runtime performance and memory overhead. Are the JIT compilers for Python et al any good?)

The security exploits are in the Java plugin. I don't care much about those because I disabled the plugin in my browsers years ago. Don't folks understand that 99.99% of Java users are unaffected by the plugin exploits???

When programming Java, you sure don't have to wrap everything in an object. Everything is in a class, but so what? Classes provide a namespace for your code, which is useful. They also give you lazy loading so you don't have to wait for an entire app to load.

There are a lot of bad Java programmers though. It seems too few of them have really learned CS and don't understand the internals or runtime well. That's a mistake when using any language.

about a year ago
top

Oracle Discontinues Free Java Time Zone Updates

codealot Re:there's always Joda Time... (405 comments)

Yes. We switched 6 years ago and never looked back. The java.util.Calendar classes in Java are pretty horribly broken--usability aside, they get some key calculations wrong, like ISO week of year.

The best part is that Joda doesn't need or use the time zone database bundled into Java SE, so they aren't affected at all by Oracle's support policies.

about a year ago
top

New Java Vulnerability Found Affecting Java 5, 6, and 7 SE

codealot Re:the java plugin? (121 comments)

I just RTFA, from what I can tell this affects anyone who needs to run untrusted code in a JVM with a SecurityManager, not just applets.

That said, I can't think of any reason to do that besides applets, so most vulnerable users are those with browser plugins. Virtually everyone I know who runs Java deploys it within a servlet container where untrusted code is not normally a concern. Given that, the story seems a bit overblown.

about 2 years ago
top

Why Some Devs Can't Wait For NoSQL To Die

codealot We need alternatives to SQL. (444 comments)

As another poster pointed out, this is a false dichotomy. We're emerging from a technology monoculture of "every DBMS must be SQL" to "it's possible, even viable to design, implement and use a DBMS that does not implement SQL". Anyone advocating a mass exodus from SQL-land is a fool. Props to the NoSQL guys for opening our eyes to fresh ideas.

There's no need to stick with any single DBMS platform for 100% of your organization, unless you're so small that you have but one server total, and then I suspect this debate is largely irrelevant to you anyhow.

We're not Google, but we have some of the same problems Google faced with scaling up our applications for the Internet. We do use MySQL, having some 35+ instances of it. Our application processes in excess of 1000 transactions each second, and we know it'll be difficult to scale to tens of thousands of transactions per second without some fundamental changes. Today we survive by imposing limitations on developers writing OLTP applications--things like "all row operations must search by primary key" and "no table scans, ad-hoc queries or file sorts". The access language is still SQL, but increasingly we don't *need* SQL for OLTP transactions. We could plug in something today that is equivalent and far simpler.

What we're lacking in SQL-land is a good way to host DBMS applications on distributed infrastructure, e.g. in the cloud. There are clustered databases available, but these often require fast/short interconnects, may have difficulty scaling above bandwidth limits on a local network or SAN, and can be frustratingly fragile to use in the "real world". Not to mention expensive. This is due to the consistency model imposed on such systems, i.e. the "AC" in ACID.

Data sharding is a popular way to exceed the limits of SQL, but once you introduce sharding you're treading on "NoSQL" waters already. You can't retrofit sharding onto an application that isn't aware of it, not very successfully, in my experience. So developers need to become acutely aware of the storage tier and design for it, meaning they've already lost the perfect abstraction of SQL.

I'm keenly interested in emerging products like the Cassandra database, and while I have no intent of ever abandoning SQL (and probably even MySQL) in our organization, we're absolutely going to take "NoSQL" for a spin to see what it delivers in terms of cost, complexity, relability and performance.

more than 4 years ago
top

First MySQL 5.5 Beta Released

codealot Re:Have they fixed NDBCLUSTER yet? (95 comments)

The NDB releases basically forked from mainline MySQL. Latest is NDB 7.x, which is actually very good at what it does. Not *quite* ready for what we need but getting very close. ALTER ONLINE is a nifty feature... I've used it to add/drop indexes on the fly from tables in continuous use.

Earlier releases of NDB required that all indexes and data fit in main memory, but that has been remedied with disk data tables. Currently, disk data tables can only store fixed-length data (all strings are padded to their full length). Once that limitation is addressed, I'll be ready to look at it again.

If you applications need frequent table scans, forget about NDBCLUSTER. If however you meticulously access all your data by primary key, I find NDB scales just fine with workload.

more than 4 years ago

Submissions

codealot hasn't submitted any stories.

Journals

codealot has no journal entries.

Slashdot Login

Need an Account?

Forgot your password?