You probably already know this, but mostly all modern CPU's (within the last 5+ years, I could be wrong on some accounts) are actually 64 bit, so I believe and I might be wrong, you are losing some optimizations.
Also its your RAM + Videocard Memory that is your memory, so while you might have say 4 gig, and it would seem to show up on your computer, its including your video card memory.
The downside is that pointer sizes in 64bit software are double, and this does sometimes have issues with the processors cache. Personally I haven't seen much difference in practice either way (except in cases where you have more RAM ... MySql on 10 GB totally rocks :)).
I was asking because I choose to install the 32bit version ... 64 bit packages are more unstable being less popular.
Absolutely wrong. I wish ppl would stop spreading this nonsense. 64 bit is actually slower in practice, since addresses double in size. It also causes nearly double the memory consumption, since all libraries become twice as big, so when you upgrade to 64 bit, you should actually double the memory you wanted on 32 bit. There are only 2 reasons why you need 64 bit:
* You need to compute extremely large numbers. You'll get big performance boosts here.
* You need more then ~3.5 G ram. In which case you actually have to buy AT LEAST 8G to see a positive impact. Even this is not a hard requirement, as there are work arounds in 32-bit. But 64-bit is an absolute must if an individual process needs that much ram.
note: I see I'm voted down, and maybe I'm a little harsh in my comment, but can anyone add any other reasons to go to 64 bit? I've read a ton over the years and those are the only two I could find. Maybe I should add "because 64 is bigger then 32 and I can tell ppl my OS is 64 bit"
edit: Double is a great exaggeration, but not as much as the replies indicated. I moved from a 64-bit slicehost with 512M to a 32-bit linode with 320M and have LESS memory woes. The libraries really are almost twice as big. I speak from experience and not from theory.
Several reasons for me because that my desktop computer are mainly used to run several scientific computing tasks.
1. It can provide performance boost if you take advantage of that 64-bit calculation (two 32-bit calculations) is done in one clock-cycle, you can actually achieve 100% speed up.
2. Use more than 4G memory is not a big deal in scientific computing, and let's face it, more memory is better than read from disk.
3. The argument about the double memory consumption is plain wrong. All program still use int as the main type, which only 32-bit long. Only pointers takes 64-bit long, but you don't save much pointers in your memory (what's the point of keep 4G pointers in memory anyway?). Thus, the memory consumption is little larger, but definitely manageable.
4. (This point may be wrong, please correct me) double precision is common for calculation, and it takes exact 64-bit long, which makes it more suitable for 64-bit CPU.
To explain why you're being downvoted into oblivion:
ints remain the same size, but longs and pointers are double the size. 64-bit libraries may be bigger, but there's no reason they would double in size. In general, a 64-bit system uses more RAM, but not double.
One data point: IIRC, a benchmark I ran comparing memory consumption for Lua coroutines (co-operative threads) used roughly 1.3-1.4x as much memory on 64-bit as 32-bit.
I'm not sure if 1.25-1.5x would be accurate as a rule of thumb, but 2x is almost certainly too high. (It will depend on the data structures etc. involved.)
IIRC AMD64 does support x87, but Window/Linux have chosen to 'standardize' on SSE. In this respect x86-64 is a 'version' of x86 where all processors are guaranteed to have SSE and not need x87.
So wait, how does that work with the first "hacker" then. Does it mean it tails out. I mean the first "hacker" had to term himself a hacker, but by that logic only a "hacker" can be deemed a "hacker" by another true "hacker".
Thusly every current "hacker" isn't a hacker then. <head-implode>AAHHHH</head-implode>
I simply said that the title carries more weight if it's used by someone that's already considered to be in the crowd. There's obviously a kind-of non-pejorative definition of the word "hacker" as well, which can be used to generally define hackers as those who constantly seek to understand intimate details of a given system. That's easy to see from outside the sphere. To truly judge how well one understands a system, though, the judge must understand it at least as well as the person being judged. This is why it means more to be called "brilliant" or "hacker" by someone who is themself brilliant, or someone who is a hacker.
This sort of line that people take, "Humans are destroying the planet". Annoys me.
The thing is, the only damage we are doing to the planet is making it harder for ourselves to live on it, life will continue to thrive after us in some form or another.
Arrogance and greed will be the ruination of man, and the answer to your question is, "Yes, it would matter." I feel pity for someone who could be so out of touch from the world in which he or she came. There's much, much more to the world than humanity. Do yourself a favor: step away from your computer today and find some of it.
> I feel pity for someone who could be so out of touch from the world in which he or she came. There's much, much more to the world than humanity.
Right, but is there inherent value in the world outside of the subjective human standard? Like, is the world valuable beyond what people judge it to be valuable?
That's not such an easy question. Like, is turning a tree into some books a good thing? Trees are natural, books are not. Pumping oil out of the ground, burning it for electricity? This destroys the world, but enriches minds and saves human lives, and advances pursuits we deem valuable.
How about viruses - they're natural. Should we leave malaria and dysentery alone because they're natural? I say wipe them out, but you could carry that same logic into suggesting that we should chop down trees to build houses and print books, that we should burn fossil fuels for electricity and to create composites, that we should level areas of nature for the building of cities...
And mind you, I love nature. I spend a lot of time in it, and really love it. I consider myself a conservationist and hate wasting stuff. But that's because the world is good to us, and serves us. The parts of the world that are hostile to us - rabid animals, parasites, diseases - wipe all that stuff out. And the resources that can be converted into wonderful things we use - electricity, composites, circuits, computers, houses, transportation, and so on - well, convert it. I'll happily turn a gallon of oil into a few hours of electricity and some CO2.
Everything we judge "good" about the natural world is judged so because of our human standards, and because of how it relates and interacts with humanity. Without humanity, nature would not be good or bad by human standards. Trees and tapeworms and oil and rocks and water and ice are all of the exact same value to humanity if humanity doesn't exist, and if humanity does exist, those things are all of quite different values to us.
A proper amount of sleep, say 8 hours is usually creamy for myself, your mileage may vary.
For myself at least, I find that if I don't get proper sleep that the performance lost over the awake time just isn't worth skimping on sleep. That and I feel like shit.
This actually sounds really neat.
I mean some people mind find it not to their taste and all of that, but I think its a step in the right direction for development on Linux(Ubuntu in this case) if similar projects pop up.
Are there many similar projects that aim at a quick deployment scenarios?
There's Glade which allows you to create your interface and callbacks to be saved in a file. Using the library GladeXML, you can essentially generate all the required code at runtime without all the maintainability woes of actual code being written to disk.
While it works well enough for Rails and maybe now also Ubuntu, in general I am wary of generators. Seems to me if there is a need for a generator, it could be a sign that the framework is unnecessarily complex. Since the required configurations and whatnot can apparently be generated automatically, why expose them to the user at all?
I don't know about Quickly or Glade, but Rails doesn't really use generators in the way you're thinking of. What Rails calls generators are more like the new project wizards or new class wizards,etc. most IDE's like Eclipse, etc. They create a couple of files with the skeletal outline of the required structure, etc.
It's not like some of the "enterprise" java tools that generate thousands of lines of incomprehensible code.
I admit my anti-generator attitude came from experiences with Java. But even with Rails I have problems to remember all the parameters for the generators. (OK, an IDE could help - but if I need an IDE to be able to cope, I am treading close to Java territory).
As I said, it seems to work well enough for Rails, but I am also not 100% in love with it. It worked especially well for the initial "write a web app in 5 minutes with Rails" hype, but seems less useful in practice.
In practice people don't use scaffolding. It's good generating an initial skeleton but you're generally recommended to only use that as a starting point for implementing your own interface.
No, what makes Rails so great is not the scaffolding or the generators. It's the philosophy of Don't Repeat Yourself and having a smooth learning curve, and how everything in it reflects that philosophy.
If it generates a lot of code, then yes. But it may also just generate 2-3 lines of boilerplate code that's very annoying to keep typing over and over.
When defining a class you need to:
- Create a new file for the class.
- Type the class keyword
- Type the class name.
- Type the parent class name.
- Type the constructor definition.
- Type a call to the parent class's constructor.
This is all boilerplate and can easily take half a minute. How am I doing things wrong? Are you saying there's an easier way?
Or I can just type something like "./script/generate class Foo Bar" and be done with it and save like 15 seconds.
Yeah, that's actually a pretty odd way of doing things. In perl with moose (or just perl6) you just type 'class Foo Bar' in your file and you're good to go.
Well I spend silly amounts of time on learning, reading, thinking, dreaming about and actually coding. So I guess I classify as a hacker. As someone else said, a good one, probably not compared to the "stars", although I feel I do have my moments.
Mostly just enjoy coding and learning about software development that its quite a treat.