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


Forgot your password?
What's the story with these ads on Slashdot? Check out our new blog post to find out. ×

Comment Re: What's the real problem? (Score 1) 198

I should have added a lot more context to what I wrote. A rewrite for Linux doesn't magically solve technology problems and unless your application is trivially simple the return-on-investment window for cutting your straight licensing costs and even your sysadmin time managing Windows license costs (which is the expensive part) is probably measured in years or decades. I understand that.

I just get painfully annoyed when I have to set up a server, or change a configuration file, or allow a third person to login to a machine, or otherwise get something useful done and I have to wrestle with licensing first. I respect Microsoft's right to be paid, but in an ideal world after I paid the licensing problem would magically disappear until I have to order new services. Pay once, and never ever manage licensing again. No such luck. Open source is no silver bullet, but that's one particular werewolf it never has to battle.

Comment Re:What's the real problem? (Score 1) 198

As I wrote above, I should have qualified my original comment. Obviously there are times you're stuck with what you have and it's not cost-effective to do a rewrite. I realize and accept that.

And I realize a bull-in-a-china-shop architect can demolish a Linux environment or FreeBSD environment as quickly as he can screw up Windows Server (or Solaris or whatever).

I was just whining about the fact that if you run proprietary applications, some of the time you wrestle with artificially imposed problems that make your life more difficult in order to make sure the vendor gets their money. I understand - and even respect - their motives, but even when I'm in complete legal compliance with all of their requirements it eats some of my time.

Comment Re:What's the real problem? (Score 1) 198

I should have qualified my original post a lot more. Obviously if you have a contract with a client that states you will use Windows Server, you have to keep using it. Obviously if you have a million lines of code that is Windows-specific in an important application, that application will run Windows until it's retired - and it's likely not to be retired until the company ceases to exist - because it will probably never provide a good return on investment to rewrite for an open source operating system. And obviously, running an open source operating system doesn't magically sole technology problems.

I just froth at the mouth and want to develop an alcohol problem every time I realize that I spent a few days wrestling with Microsoft/Oracle/SAP/whatever licensing instead of actually setting up servers, setting up networks, testing, or writing code.

Comment Re:Architect != sysadmin (Score 2) 198

I third this, and suggest pushing hard for a complete copy of production in a testbed environment where you do have root access. Do whatever the hell you want to your testbed, provided it's documented. Then incorporate what works into your plans and discuss with the systems team how to roll it out in production. They may have reasonable objections - listen. If the company has 3000 employees, 60 servers, and 1500 VMs then at least some of the systems staff knows their job.

Comment Re:What's the real problem? (Score 1, Troll) 198

Windows Server has a lot to recommend it. I genuinely mean that. But spending any of his time or yours solving proprietary software licensing issues instead of making your own products work is a gigantic waste. You're not in business to make Microsoft money and you don't run all of your servers for the sole purpose of interacting with Microsoft licensing. You run servers as a means to host your software, and licensing headaches are an obstacle and not an aid.

I'm not defending your architect. He was out of his depth, and instead of asking for help he made the situation worse. But the very fact that the problem exists is yet another reason to write the next version of your server applications to run on an open source host operating system.

Comment Re:Etherpad lite is pretty close (Score 1) 59

I was going to mention this one. I've been using Etherpad on the Sandstorm.io service for a few weeks and I haven't had any problems yet. I haven't used it extensively, though, and I've only been sharing documents between two accounts. But so far, so good.

Comment Re:Finally! (Score 1) 221

Good point on your criticism to my first comment. Old C++ libraries are baggage that newer languages don't have, but clean slate new C++ programs can ignore old libraries as easily as new languages can. I was hypocritical with that argument and didn't notice. Thanks.

I would assume that for developing most code, unless you're hitting specific performance-related problems you need to debug, you do most of your compiling without the optimizer. Once it's more or less feature complete, then you have a few optimized builds before release. But even so, I work in web development. Python and PHP may not be finished getting out of bed for a day of number crunching when when C++ is already in the bar enjoying a beer, but with web work when you're accustomed to a recompile and re-deploy cycle of "Ctrl-s, Alt-Tab, F5" it makes working with C++ feel like sticking thumb-tacks into your face.

In terms of abstraction levels and such, that's a whole separate discussion or debate. I've swung around to the Clojure community philosophy of working with the simplest possible data structure that gets the job done. See for example the video https://www.youtube.com/watch?... - of course I don't know the particulars of your work so I would be foolish to assert without specific evidence that you're doing something wrong by making your own data structures. Clojure supports interface-based polymorphism and you can even use Java's inheritance-based polymorphism too, but the best practice method is to work as much as possible with sets, vectors, lists, maps (aka associative arrays) and keywords (enums). By staying at that level as much as possible, you have code that's much easier to inspect and reason about, and you get a staggering amount of libraries that will work on your data as-is instead of using the Visitor pattern and the Strategy pattern and the Decorator pattern and all of those other Design Patterns that provide wonderful fixes to one problem at the cost of requiring lots of extra work to interact with other code. So maybe Go with the simple data structures and the right code would do your work well - minus any performance deficits, of course - but maybe not.

I hadn't followed the evolution of the D language much. I stumbled across the language a few years ago when D 2.0 seemed relatively stable. I admit, I would have been furious if I had been an early adopter of D 1.0, because the transition between 1.0 and 2.0 was enormous.

Comment Re:Already propagating (Score 1) 663

I've read Protein Power and Dr. Atkin's books, among others, and what they write and the research they use to back it up make sense, but when I cut my carbohydrate intake to 50 grams per day or less and ate that way for three months, I only lost fat for the first month and a half or so and even then barely a pound per week. I had a good intake of fat, protein, and vegetables at the time too.

So while the connection between saturated fat intake and good cholesterol, and protein intake and overall health might be rock solid, I am not sold on the fat loss. I have an easier time cutting calories, at least for a little while, on a diet with a high proportion of fat and protein in the food. But I still have to cut calories to slim down, period.

Comment Re:Finally! (Score 1) 221

Go as a C++ replacement should be fine unless you need manual memory management. D as a C++ replacement should be awesome - D has garbage collection by default but manual memory management as optional. I'm surprised the Mozilla team didn't go with D. I don't have anything against Rust, mind. It just seems to me that in general terms D already provided almost everything the Rust designers had in mind.

C++ drawbacks:
1. The language has a long history, which by its nature means there is tons of older C++ code around. So while you can write a new program with a small, safe, consistent set of the language features, you will often find yourself reading and calling older code that deals with corner cases and language features you don't understand. (I mean "you" in the general sense, for all I know serviscope_minor knows every revision of the C++ standard backwards, forwards, sideways, and inside out and all of the compiler quirks and corner cases dating back to Stroustrap's first release.) Go, Rust, and D adoption is hindered by the fact that there isn't half a billion or more lines of code in their respective languages in use around the world, but for all three of those languages you won't get bitten by misunderstanding older versions of the code or compiler quirks. They were designed with the benefit of hindsight using C++ as a starting point.
2. C++ has a preprocessor and header files. In the time it takes to compile a three million line C++ program, you can compile a three million line Go or D program and build a two car garage. I think Rust is in the middle, but closer to Go and D for compiler times on large projects than to C++. The C++ preprocessor and header files are fundamental to the language, you can't get rid of them without breaking most older C++ projects. This is a headache that will never go away. This slow compile time is the fundamental reason most websites are not written in C++ despite the fact that C++ demolishes competitors for performance. I expect to see more websites written in Go, D, and Rust as time goes on because they're getting close to C++ for raw performance but the edit-compile-run-test loop time for any website much bigger than "Hello World" is much closer to that of PHP than that of C++.

Comment Re:note 4 (Score 1) 208

Planned obsolescence is more profitable for vendors. But really, the only reason to upgrade since the Samsung Galaxy S3 era Android phones has been for the camera. I think 2GB of RAM or Android 4.x or both were the tipping point to where Android is stable and simple to use. All enhancements past that has been window dressing.

But of course, you need CyanogenMod or something similar to keep getting security updates on older phones.

I think the really cost effective thing to do would be to get a Samsung Galaxy S3 or something similar and a separate digital camera, and just get into the habit of carrying both around. But I forget the phone as it is.

Comment Re:Google Search (Score 1) 208

My HTC One Max has a 1920x1080 (not quad hd) screen and 3300 mAh battery, I can get two days between charges with moderate usage. My daughter can watch Netflix on it for about six or eight hours before it needs a charge. (I know it's no good for her to watch that much, but sometimes I'm just too damn tired to make her do something else.) The phone is good in all respects except the camera, which just can't match the mid range or better Android cameras.

Comment Re:Already propagating (Score 1) 663

I think saying that "calories in - calories out", while technically true, is not useful. It's like saying, "The secret to limitless wealth is to earn a lot more than you spend." Or "The secret to being an immortal is avoiding death!"

While 1500 calories of cotton candy has the same energy as 1500 calories of tuna, eating the cotton candy will probably wreak havoc with your insulin, blood glucose levels, etc... over the short term but leave you feeling hungry again in short order. The 1500 calories of tuna will be much harder to eat - you'll get tired of the taste quickly - but leave you feeling satiated for much longer. Human beings are not machines, sense of satiation matters.

With respect to the "low fat" dieting, this is still a heated discussion but I think evidence has accumulated that it was a failure. You can even ask whether it merely accompanied the American obesity epidemic or actively contributed to it. Wheaties in skim milk is a standard part of a low fat diet, but the same amount of calories in the form of eggs and bacon will keep your hunger at bay for many hours longer.

Comment Re:Already propagating (Score 3, Interesting) 663

I switched to diet soda about 12 years ago and over the course of a year I effortlessly lost about 15 pounds with no conscious change to my eating habits (aside from the switch to diet). Then over the next two years, still with with no conscious change to my eating habits, I gained all of the lost fat back. So who knows.