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

 



Forgot your password?
typodupeerror
For the out-of-band Slashdot experience (mostly headlines), follow us on Twitter, or Facebook. ×

Comment: Re: Oracle is GPLd now, then. (Score 1) 134 134

by TemporalBeing (#50015209) Attached to: SCOTUS Denies Google's Request To Appeal Oracle API Case

This would really only affect languages like Java that mix interface declarations with their implementations.

Languages that normally separate them (like C, and C++) will not likely need to worry.

Lesson: Avoid Java

It's only been since Java 1.8 that you've been able to inline a default implementation along with an interface declaration. Before 1.8, the only legal members of interfaces were abstract method declarations and static final constants.

In the strict term of an "Interface class", that may be. However, the function declaration and definition are always mixed in Java. There is no way to separate them.

Comment: Re: Oracle is GPLd now, then. (Score 1) 134 134

by TemporalBeing (#50015177) Attached to: SCOTUS Denies Google's Request To Appeal Oracle API Case

It certainly is looking that way, but there is the whole notion that what amount to call tables can be copyrighted. What the supreme Court has done here is basically unravel the common understanding of the difference between spec and implementation, and if Java is the most obviously vulnerable, in a very real way it means any number of APIs that have been re-implemented (like the standard *nix set of system calls) could suddenly be plunged into a purgatory-like nether world. I made vulgar jokes about using stdio.h in C programs, but that's the real question.

There is actually a big difference between the APIs from Java, and the System Calls; for Java you have to write an interface at the language level that matches up, for System Calls you do not - it's processor specifications that must match up, and those are covered by the processor vendor, not the system call creator. This is where the a language like Java fails.

In System Calls it doesn't matter what you call the function, it's parameters, etc - just that it matches the processor call stack sufficiently for the request to be transferred - which is typically an OS-level issue and a compiler issue, not your code.

So, you try to extend this to Linux vs Unix Sys7...and that's where it the fact that the function names and parameter names need not match makes it obvious that there is no issue here because they are not per se copyrighted, like they have to be with Java.

Suffice it to say, Linux out to be safe.

Considering that in many cases header files and libraries whose origins go back decades in many different languages and on many different architectures could become low-hanging fruit, and since copyrights are in most industrialized countries are essentially perpetual now, big software houses now have a far better club to beat competitors with than patents.

Do you think another Samba or Wine project could happen if the lower courts rule for Oracle? Who would be crazy enough to even try?

Coming to a different question: Does implementing a library sufficiently the same that the linker generates a matching symbol mean there is a copyright violation? Not likely. There is an extreme amount of precedent for those being fair-use, and "interoperability" is an explicitly called out exemption by law (IANAL, go talk to one). This also easily applies to network interfaces. The question comes down to: did you copy anything to make it work?

Again, a language like Java where the code structure and names must be sufficiently the same to make it work you'll have an issue, and it'll be harder to show "fair-use" even if "fair-use" applies; versus a language like C where you just need to tell the compiler how to match up the symbols to get it done - in some cases you can even specify to the compiler/linker that symbol A is really symbol B so if you have a list of the symbols you know, you can have other symbols of your own and let the linker take care of the mangling for you (no so in Java).

I expect Google will win in the end on "fair-use" since the language specifications so heavily require it to be the same for interoperability, and they have a strong case for interoperability which, as I said earlier, is explicitly called out under "fair-use" and "reverse engineering" exceptions to copyright law.

Comment: Re: Oracle is GPLd now, then. (Score 2) 134 134

by TemporalBeing (#50013999) Attached to: SCOTUS Denies Google's Request To Appeal Oracle API Case

Actually, he might have a valid point. If an api is subject to copyright, wouldn't that make a whole bunch of closed source things in violation of the gpl? For example, the closed source nvidia drivers include some of the kernel api, so are they now subject to gpl?

He may have a valid point regarding Java itself and its usage for Google on Android; however, that doesn't typically extend.

Also, there is sufficient legal precedent regarding C/C++ header files not being copyrightable such that nVidia need not concern themselves. This would really only affect languages like Java that mix interface declarations with their implementations.

Languages that normally separate them (like C, and C++) will not likely need to worry.

Lesson: Avoid Java

Comment: Re:Fucking Lawyers (Score 1) 134 134

by TemporalBeing (#50013979) Attached to: SCOTUS Denies Google's Request To Appeal Oracle API Case

Fucking lawyers just never stop. Google illegally copied Oracle's shit. Deal with it.

No. This is about making API compatible calls. Plain and simple.

Can/Should Oracle be able to copyright something like these ?

  • void java.io.PrintStream.println(String x)
  • void org.junit.Assert.assertTrue(String message, boolean condition)

No. And I thought this had already been solved with C Header files.

Well, the Java folk always wanted to distance themselves from the C/C++ folk.

And now we have another reason to avoid Java to boot. :D

Comment: Re:I'm spending 60% of my monthly income on rent (Score 1) 937 937

by TemporalBeing (#49999401) Attached to: The Vicious Circle That Is Sending Rents Spiraling Higher

No "market rent" is set by the market.

Some participants in the market try to get apartments for below market rent (those are the tenants) and some try to get above market rent (those are the landlords) - when they reach agreement, that number becomes market.

Yes, that is how it is suppose to work. However, the big corporate property management firms are not adhering to that. If that was truly the case, then the local property managers would have more discretion in rates and the ability to negotiate, they do not.

This is one aspect of many in which our current economy is severely broken. Another is in which products are carried and who decides what the stores carry (hint: not typically the local retailers).

Comment: Re:I'm spending 60% of my monthly income on rent (Score 1) 937 937

by TemporalBeing (#49987727) Attached to: The Vicious Circle That Is Sending Rents Spiraling Higher

They didn't care about the price of housing - they already owned their home so would not be affected outside of taxes. ... So one pushes these "life style" ordinances (no lot can be less than 1/2 acre, etc) and the prices sky rocket

Many of them don't realize that they don't care about the price of housing, but that's effectively what they are doing when they are "preserving the character of the neighborhood" and "making sure infrastructure is sufficient to serve all residents" etc.

Yes, it is effectively the result, but it's not a purposeful result; more of a by-product or unintended consequence.

Obviously, the arguments in Loundon County are going to be different from SF or NYC. But the arguments against micro apartments in SF and NYC has been that they are such lousy places to live that we need to protect the poor from such places being built by evil landlords.

Loundon County is an odd place in many ways. It's not typical distribution. Many may be considered near poverty, but they're mostly in the western portion and own land, homes, etc; while the eastern portion is a lot richer. Homeless are near 0% of the population, and more.

So where SF is a battle between rich and poor, or rich and wanna-be-rich; Loundon County is just a battle between the established residents and those that will likely live there for
However, my main point was that the people pushing these "life-style" ordinances often never think about the consequences of the ordinances. They're only thinking about the life-style they want to maintain, everyone else be damned. So I suspect that's the same case in NYC and SF and elsewhere.

Comment: Re:I'm spending 60% of my monthly income on rent (Score 1) 937 937

by TemporalBeing (#49987067) Attached to: The Vicious Circle That Is Sending Rents Spiraling Higher

You can list your property and expect a solid offer at above-market pricing within 48 hours.

Isn't an offer you can expect pretty close to market pricing?

Years back, in the housing bubble, places in Virginia would go on the market for one rate, say $500k. It was typically that someone would talk into the open house, and offer $20k above the asking price, put it under contract, etc at the very first open house mere days after it entered the market. The Realtor would certainly take that into account when calculating the "market price" and what they expected things would go for; but unreasonable people would still offer significantly higher with a goal of taking it off the market and securing a place, in part because housing was moving so fast on the market, but it also fed in on itself as a result.

Comment: Re:I'm spending 60% of my monthly income on rent (Score 1) 937 937

by TemporalBeing (#49987001) Attached to: The Vicious Circle That Is Sending Rents Spiraling Higher

I'm spending 60% of my monthly income on rent

They actually let you do that? I'm about to rent a luxury apartment (resort style, costs about $1100 a month, has gym, two large pools, tons of other amenities) and one of their requirements is that your income has to be at least 3 times what the rent costs. This is my first time renting though, so I don't know what the norm is.

Yes, standard practice is that rent is not suppose to be more than 30% of your pre-tax income. It still may end up being 60% of your post-tax income though.

Years back, I rented an apartment for $1315/month. Pre-tax it was no more than 30% of my income; however, post-tax it took up one of my 2 paychecks each month (50% of my income).

Comment: Re:I'm spending 60% of my monthly income on rent (Score 1) 937 937

by TemporalBeing (#49986917) Attached to: The Vicious Circle That Is Sending Rents Spiraling Higher

Oh, let's call it what it is: greedy existing home owners corrupt government officials so that they pass zoning laws and regulations in order to keep housing prices high. And to add insult to injury, they usually pretend they are doing it out of altruism and "concern for the poor".

It's a little simpler than that. It's more like: people have been there for years and want to continue their life style in the face of change; refusing to change, they get the government officials to pass ordinances that support their life style; thus minimizing change and forcing prices high. The poor are completely left out of the equation.

The same thing is happening in Loundon County, VA where the western half the county wants to be left alone, and the eastern half of the county is embracing massive population expansion. So one pushes these "life style" ordinances (no lot can be less than 1/2 acre, etc) and the prices sky rocket. They didn't care about the price of housing - they already owned their home so would not be affected outside of taxes.

Comment: Re:I'm spending 60% of my monthly income on rent (Score 1) 937 937

by TemporalBeing (#49986851) Attached to: The Vicious Circle That Is Sending Rents Spiraling Higher

luxury apartments that charge higher than market rates

If they are renting them, they must not be getting higher than market rent - market rent is what something will rent for.

"market rate" is not what you think it means. It's defined by the corporations, not by what the rental offices themselves think the market will do.

I made the same mistake years back. I had an apartment at $1315/month on 12-month contract. New contracts were between $1315 and $1500 - which I figured was the "market rate", and we were going to move a couple months after the contract expired. So I figured I'd let it go. Learned market rate was set by some bureaucrat in an office some where else, the local office didn't have the authority to change it (based on supply/demand in the market), and that market rate was $1700+/month.

Comment: Re:I'm spending 60% of my monthly income on rent (Score 1) 937 937

by TemporalBeing (#49986815) Attached to: The Vicious Circle That Is Sending Rents Spiraling Higher

Also, if you're living in a mobile home on land that's not your own, you're still paying rent, so how exactly does that help anything?

Exactly; so not only are you paying the "mortgage" on the mobile home, you're also shelling out another $700-$1k/month for where to park it.

The economics of it never made sense to me.

Comment: Re:C++/CLI + C# (Score 1) 295 295

by TemporalBeing (#49978815) Attached to: Ask Slashdot: Is C++ the Right Tool For This Project?

C++ can be used in Managed Mode, if you're working with Microsoft Tools. You can write your critical code in C++/CLI that also gives you access to low level stuff for the parts that you need, compile as a static library, then use C# for everything else.

No, just NO.

From a performance perspective, you immediately run across thunking between C# and C++/CLI, not to mention the API idiocies like not being able to sent a buffer from C++ to the network directly (you have to write a loop and send integer sized chunks at a time, then at the end send the final few bytes).

So unless you want to screw yourself well, just avoid C++/CLI. You'll thank me later.

Comment: Re:If you cannot answer your own question.. (Score 1) 295 295

by TemporalBeing (#49978777) Attached to: Ask Slashdot: Is C++ the Right Tool For This Project?

Okay, basically I need to be able to allocate and release memory manually and without waiting for any garbage collection. I need complete control over concurrency and memory sharing, and as little overhead as possible when accessing the hard disk. I have not been able to find a way during prototyping to control memory enough in Java or C#. A language with a great cross platform library but no memory management would be perfect, and right now C++ is the only language I know of that comes close to those requirements.

. Since you mentioned you have existing libraries, etc - QT certainly seems to be very beneficial here. With the QSharedPointer types (weak, strong, etc) and concurrency functionality (QtConcurrent, QtFuture) it seems to have the main tools you're looking for, and it will integrate well with other projects in that bringing in an existing library won't be much of an issue (well, unless it's a MSVC COM or something like that; those would need to be re-written). The main caveat is that it's a little harder to share Qt code in a static way (e.g libmyqtlib.a) from a Qt project to a non-Qt project; at least, I haven't tried that. Most just use a dynamic linker which works fine to do that.

There's also a very health e-mail list and forums at qt-project.org that you can use to ask questions and get answers reasonably fast. I can't say the same for Boost, where each library may have its own list if anything at all.

Comment: Re:If you do go with C++ (Score 1) 295 295

by TemporalBeing (#49978667) Attached to: Ask Slashdot: Is C++ the Right Tool For This Project?

There is no UI required for the project, although I realize you can use modules like QtNetwork without the UI libraries. I am a bit worried about tying myself too closely to the QT event loop. Can anyone provide any insight on if the event loop will complicate concurrency throughout the rest of the application or if it is even necessary?

The QT Event Loop actually makes concurrency far easier. You can start each thread with its own event loop, and just pass objects back and forth between the threads using Signals/Slots. The Qt Signal/Slot automanages moving the objects between the event loops, and it all just works.

So you can easily have one thread that just reads data from disk, while 5 other threads receive the data to process, all using Qt signal/slots and not give a lick about which thread it's running in.

Furthermore, if you need to reduce it to one thread to debug, you can easily do so by changing which thread stuff lives in. So concurrency issues become easy to diagnose.

Of course, there are also several Concurrency frameworks within Qt as well - QtConcurrent, QtFutures, etc. - so if you have massive parallism capabilities you can just use those instead. They're all very easy to use.

Also, Qt integrates well with Boost. You can even use the Boost Signal/Slots (choose your version) if you like.

"It is better for civilization to be going down the drain than to be coming up it." -- Henry Allen

Working...