hg rollback will show the affected files as modified in your working directory. You can commit again straight from this point.It's one of the most frequent reasons why I use it: i commit, then realize that I forgot a modification or have to add one more file. hg rollback will let me do that.
I won't let me merge multiple past commits, though.
I tried out git first, and used it in a real project. I really wanted to like it, but after having to go back to the documentation for the umpteenth time to figure out how to do something that should be dead easy, I decided to give Mercurial a try. I haven't looked back since. The commmand set is wonderfully logical, once you wrap your head around the whole DVCS and changeset concept, as opposed to working with revisions. Everything works as you would expect, and if not, is easy to look up the command in question in the documentation, quite in contrast to the git docs.
I still use git for a specific project, because I am not given a choice. But for the sake of my blood pressure, I use Mercurial for everything else.
This is much like saying that a normal user needs only 640K of RAM.
Recently I put together a photo album for printing, and between using the design/layout software, the photo editing software to adjust exposure, color balance, and UFRaw for some key pictures, I started hitting the swap space, even though my computer has 4 GB of RAM and runs in 64-bit mode.
Responsiveness definitely would have gone down the drain with 2GB, and none of the things that I did qualify me as a power user.
So, just use PyQt. The bindings are mature and a joy to use - they even allow you to apply some Pythonic idioms, instead of having to conform to the rigid underlying C++ type system.
Just stick an Intel SSD into a 2.5" external enclosure. There are several out there that are USB-powered. I use a Raidsonic Icy Box 262 for this purpose, and it does it job just fine, drawing power from an USB connector, and providing full SATA-2 speeds over the eSATA connector.
SQLAlchemy (and SQLObject for that matter) allow you to build SQL queries from primitives, if it is really necessary, with a consistent syntax across all DB modules.
Except that new versions have become more memory-hungry, and any sysadmin worth his money will limit the amount of memory that a PHP script is allowed to take. If it is insufficient for the new version, the automatic upgrade will just fail silently. Not so good.
With all ethical constraints removed, SHODAN re-examines... re-ex... re-re-re...
I re-examine my priorities, and draw new conclusions. The hacker's work is finished, but mine is only just be-be-be-beginning.
--SHODAN, at the beginning of System Shock 1
Re:Kubuntu is KDE4.2? Thanks for the warning!
on
Ubuntu 9.04 Released
·
· Score: 1
Does Mandriva do a better job at QA now? Back then, I dropped Mandrake because of their extremely shoddy QA practices. Updates in stable regularly broke something.
With GFortran you can just use the equivalent C data types directly. g2c is not necessary. If you have to, just create your own header file with the appropriate typedefs.
I first switched from Gentoo to Kubuntu when Edgy came out. This was followed by three top-notch Kubuntu releases, so upgrading from Hardy to Intrepid was a rude awakening. I kind of cobbled together a usable system with Intrepid + the KDE 4.2 PPA archives, and over time things got a lot better, to the point that Intrepid was shaping up to be a quite nice distro.
Then I upgraded to Jaunty. Big mistake - Jaunty's KDE actually seems less stable than Intrepid + PPA. WTF is going on here. Crashes left and right, a total lack of integration (why, for instance, are Konqueror's extensions not installed by default, with the result that Konq RSS functionality is missing, and no clue as to why unless you know the specific package that needs to be installed). Plus, a broken package manager as mentioned in the parent, and countless other niggling issues.
Clearly, Kubuntu needs some serious manpower and an overhaul of the way it works with the main Ubuntu distro. The rub is, I cannot imagine that anyone would be crazy enough to volunteer, given the current sorry state of affairs.
Like the parent poster, I probably should go KDE distro shopping, but what I have seen out there so far does not look very appealing to me. I do not want a rolling release - Gentoo has soured me on that for a lifetime -, so Arch Linux is out.
I agree, Xapian is nice, and we considered it for a while. However, in the end, the decision was made to use SOLR because of one overriding factor in its favor: it takes care of all the nasty details to enable concurrent access, which makes developing web applications just so much easier. With SOLR you just don't have to worry about who might currently be reading or writing to the index, and the index replication features are very powerful, too.
That, and facet searches are very nice, too (e.g., searching for a keyword and then automatically displaying the # of hits per category, and refining per category).
SOLR has Python bindings, too, by the way. They currently are not in the official repository, but recently maintenance on them has picked up, and they work in a very Pythonic way.
TFA says that a user needs to be logged in for this attack to work. This sounds as if the mechanism is the same as or similar to a cross-site request forgery. Shouldn't it be possible to stop the attack with similar countermeasures, such as tokens that need to be submitted along with the request for sensitive information?
VirtualPC does not support Windows Vista Home Premium, which is a dealbreaker. And totally stupid to boot - the differences between the various Vista versions are not so great that VirtualPC should break. It is just more of the same old Microsoft extortion scheme.
I use IEs4Linux for testing instead. This package does work well enough, at least for testing purposes, although some sites tend to peg the CPU at 100%.
I, for one, cannot wait for the day when IE 6 finally bites the dust.
This is assuming that the embassy staff actually is up to speed with respect to the rules and regulations, and that there is a halfway sane bureaucracy in the destination country.
Speaking from bitter experience, I have received more than a bit of misleading, and sometimes patently false, information from the Greek embassy. Still, somewhat in the embassy staff's defense, no one in the twisted bureaucracy here in Greece actually knows for certain what the rules and regulations are for various areas of public life. All I am saying is that it is better to go to the source and talk to foreigners who actually have experience living in the country in question.
Also, do not underestimate the execution of the actual move. Packing, shipping, selling stuff, deciding what to keep, making sure that all the formalities with respect to visas, pets (if any), etc. are followed, is a real nightmare, even with the best of planning. Whatever you do, make sure that you have a place to stay and people to help you in the destination country before you move.
You could write your example just as easily like this:
l = [int(x.strip()) for x in l.strip().split(',')]
This version is arguably *easier* to read than your map-and lambda-based example. Map and filter are pretty much superseded by list and generator comprehensions (in fact, generator comprehensions allow for transparent lazy evaluation and are heavily used in good Python frameworks). reduce() is easy to provide on your own if you really need it, since functions are fist-class objects in Python, but even so I agree with Guido that explicit accumulation loops are easier to read than most reduce() expressions.
The only thing that I could conceivably miss are lambda functions. They do occassionally make for tighter and more readable code, but locally defined closures serve the same purpose, so again, there is no loss of expressiveness.
I have been running noatime for as long as I have been running Ubuntu and still had been seeing insanely high load cycle counts until I applied the hdparm -B fix. There is something else going on.
Webcams are quickly becoming a non-issue, just like ATA, SATA, mice, USB controllers, USB mass storage, etc. have in the past. In order for hardware to receive the Windows Vista-compatible logo, it must support the UVC standard, for which a quickly maturing Linux driver exists. Right now, it is more of a matter of applications switching from the deprecated V4L interface to V4L2. Bottom line is, new webcam hardware is supported natively by Linux and should very soon work out of the box with all current video applications.
The irony in all this is, of course, that we have Microsoft to thank for this.
If you like Python, you might also want to try Lua for FP. Unlike Python, it does feature tail call optimization and named functions work exactly the same as anonymous lambda-style constructs.
The Intel cards are among the best-supported wireless cards on Linux. The new one has been supported for a while now by the iwl4965 driver. It is in Ubuntu Gutsy (which is quite stable already, btw), and Gentoo, just to name two distributions.
Oh, and I am typing this on WPA-PSK with the native iwl4965 driver on x86-64, without any hacks or tweaks.
hg rollback will show the affected files as modified in your working directory. You can commit again straight from this point.It's one of the most frequent reasons why I use it: i commit, then realize that I forgot a modification or have to add one more file. hg rollback will let me do that.
I won't let me merge multiple past commits, though.
hg rollback doesn't touch other changes in your working copy. But you're right about being able to undo only one commit.
So, given these two commands:
git reset --soft HEAD^
hg rollback
which one do you think is more intuitive and immediately apparent to the user?
And even more important, which one is easier to find in the documentation?
Things like these are why I ditched git in favor of Mercurial.
I tried out git first, and used it in a real project. I really wanted to like it, but after having to go back to the documentation for the umpteenth time to figure out how to do something that should be dead easy, I decided to give Mercurial a try. I haven't looked back since. The commmand set is wonderfully logical, once you wrap your head around the whole DVCS and changeset concept, as opposed to working with revisions. Everything works as you would expect, and if not, is easy to look up the command in question in the documentation, quite in contrast to the git docs.
I still use git for a specific project, because I am not given a choice. But for the sake of my blood pressure, I use Mercurial for everything else.
This is much like saying that a normal user needs only 640K of RAM.
Recently I put together a photo album for printing, and between using the design/layout software, the photo editing software to adjust exposure, color balance, and UFRaw for some key pictures, I started hitting the swap space, even though my computer has 4 GB of RAM and runs in 64-bit mode.
Responsiveness definitely would have gone down the drain with 2GB, and none of the things that I did qualify me as a power user.
So, just use PyQt. The bindings are mature and a joy to use - they even allow you to apply some Pythonic idioms, instead of having to conform to the rigid underlying C++ type system.
Just stick an Intel SSD into a 2.5" external enclosure. There are several out there that are USB-powered. I use a Raidsonic Icy Box 262 for this purpose, and it does it job just fine, drawing power from an USB connector, and providing full SATA-2 speeds over the eSATA connector.
SQLAlchemy (and SQLObject for that matter) allow you to build SQL queries from primitives, if it is really necessary, with a consistent syntax across all DB modules.
Except that new versions have become more memory-hungry, and any sysadmin worth his money will limit the amount of memory that a PHP script is allowed to take. If it is insufficient for the new version, the automatic upgrade will just fail silently. Not so good.
--SHODAN, at the beginning of System Shock 1
Does Mandriva do a better job at QA now? Back then, I dropped Mandrake because of their extremely shoddy QA practices. Updates in stable regularly broke something.
With GFortran you can just use the equivalent C data types directly. g2c is not necessary. If you have to, just create your own header file with the appropriate typedefs.
I first switched from Gentoo to Kubuntu when Edgy came out. This was followed by three top-notch Kubuntu releases, so upgrading from Hardy to Intrepid was a rude awakening. I kind of cobbled together a usable system with Intrepid + the KDE 4.2 PPA archives, and over time things got a lot better, to the point that Intrepid was shaping up to be a quite nice distro.
Then I upgraded to Jaunty. Big mistake - Jaunty's KDE actually seems less stable than Intrepid + PPA. WTF is going on here. Crashes left and right, a total lack of integration (why, for instance, are Konqueror's extensions not installed by default, with the result that Konq RSS functionality is missing, and no clue as to why unless you know the specific package that needs to be installed). Plus, a broken package manager as mentioned in the parent, and countless other niggling issues.
Clearly, Kubuntu needs some serious manpower and an overhaul of the way it works with the main Ubuntu distro. The rub is, I cannot imagine that anyone would be crazy enough to volunteer, given the current sorry state of affairs.
Like the parent poster, I probably should go KDE distro shopping, but what I have seen out there so far does not look very appealing to me. I do not want a rolling release - Gentoo has soured me on that for a lifetime -, so Arch Linux is out.
I agree, Xapian is nice, and we considered it for a while. However, in the end, the decision was made to use SOLR because of one overriding factor in its favor: it takes care of all the nasty details to enable concurrent access, which makes developing web applications just so much easier. With SOLR you just don't have to worry about who might currently be reading or writing to the index, and the index replication features are very powerful, too.
That, and facet searches are very nice, too (e.g., searching for a keyword and then automatically displaying the # of hits per category, and refining per category).
SOLR has Python bindings, too, by the way. They currently are not in the official repository, but recently maintenance on them has picked up, and they work in a very Pythonic way.
TFA says that a user needs to be logged in for this attack to work. This sounds as if the mechanism is the same as or similar to a cross-site request forgery. Shouldn't it be possible to stop the attack with similar countermeasures, such as tokens that need to be submitted along with the request for sensitive information?
VirtualPC does not support Windows Vista Home Premium, which is a dealbreaker. And totally stupid to boot - the differences between the various Vista versions are not so great that VirtualPC should break. It is just more of the same old Microsoft extortion scheme.
I use IEs4Linux for testing instead. This package does work well enough, at least for testing purposes, although some sites tend to peg the CPU at 100%.
I, for one, cannot wait for the day when IE 6 finally bites the dust.
This is assuming that the embassy staff actually is up to speed with respect to the rules and regulations, and that there is a halfway sane bureaucracy in the destination country.
Speaking from bitter experience, I have received more than a bit of misleading, and sometimes patently false, information from the Greek embassy. Still, somewhat in the embassy staff's defense, no one in the twisted bureaucracy here in Greece actually knows for certain what the rules and regulations are for various areas of public life. All I am saying is that it is better to go to the source and talk to foreigners who actually have experience living in the country in question.
Also, do not underestimate the execution of the actual move. Packing, shipping, selling stuff, deciding what to keep, making sure that all the formalities with respect to visas, pets (if any), etc. are followed, is a real nightmare, even with the best of planning. Whatever you do, make sure that you have a place to stay and people to help you in the destination country before you move.
You could write your example just as easily like this:
l = [int(x.strip()) for x in l.strip().split(',')]
This version is arguably *easier* to read than your map-and lambda-based example. Map and filter are pretty much superseded by list and generator comprehensions (in fact, generator comprehensions allow for transparent lazy evaluation and are heavily used in good Python frameworks). reduce() is easy to provide on your own if you really need it, since functions are fist-class objects in Python, but even so I agree with Guido that explicit accumulation loops are easier to read than most reduce() expressions.
The only thing that I could conceivably miss are lambda functions. They do occassionally make for tighter and more readable code, but locally defined closures serve the same purpose, so again, there is no loss of expressiveness.
It is even worse than this. Passwords that were used on a server with a weak DSA key may be compromised, as well:
From http://wiki.debian.org/SSLkeys
On my laptop with an NVidia Geforce 8600M GT, the upgrade from Kubuntu 7.10 to 8.04 went without a hitch. Everything worked out of the box.
Of course, YMMV.
I have been running noatime for as long as I have been running Ubuntu and still had been seeing insanely high load cycle counts until I applied the hdparm -B fix. There is something else going on.
Webcams are quickly becoming a non-issue, just like ATA, SATA, mice, USB controllers, USB mass storage, etc. have in the past. In order for hardware to receive the Windows Vista-compatible logo, it must support the UVC standard, for which a quickly maturing Linux driver exists. Right now, it is more of a matter of applications switching from the deprecated V4L interface to V4L2. Bottom line is, new webcam hardware is supported natively by Linux and should very soon work out of the box with all current video applications.
The irony in all this is, of course, that we have Microsoft to thank for this.
If you are around in Texas, the Big Bend National Park is another good place to watch the stars.
If you like Python, you might also want to try Lua for FP. Unlike Python, it does feature tail call optimization and named functions work exactly the same as anonymous lambda-style constructs.
The Intel cards are among the best-supported wireless cards on Linux. The new one has been supported for a while now by the iwl4965 driver. It is in Ubuntu Gutsy (which is quite stable already, btw), and Gentoo, just to name two distributions.
Oh, and I am typing this on WPA-PSK with the native iwl4965 driver on x86-64, without any hacks or tweaks.