Become a fan of Slashdot on Facebook


Forgot your password?
Trust the World's Fastest VPN with Your Internet Security & Freedom - A Lifetime Subscription of PureVPN at 88% off. Also, Slashdot's Facebook page has a chat bot now. Message it for stories and more. ×

Comment In reality... (Score 1) 1

Outside of open source projects which can version their code in any intelligible or unintelligible way possible, this is how software versioning works in industry:

Engineering: "Our current version is 1.1, and we've made enough changes that we're ready to release version 1.2."

Marketing: "Do you think we could call it version 2.0?"

Engineering: "Well, we added some bug fixes, and a couple of minor features, so 1.2 makes more sense."

Marketing: "Yeah, but we think that version 2.0 sounds a lot better."

Engineering: *shrug* "Fine, whatever, 2.0 it is."

Comment Weird experiement (Score 1) 2

Given the experiements, at least as explained in the article, it's not surprising they got the results they got.

It can be broken down like this:
1. Do a bunch of string manipulation in memory
2. Send down a bunch of writes

Not in-memory:
1. Send down a bunch of writes

Obviously, in-memory will be slower in the above scenario. What they should've done for the "not in-memory" experiement was:
1. Do a bunch of string manipulation on disk
2. Send down a bunch of writes

Then they would've found that in-memory would've been much faster.

Comment Desktop Linux (Score 1) 7

If someone is coming from a Microsoft experience, with their separate Windows desktop and server releases, it might make sense for Linux to follow the same paradigm, except that Windows desktop is the same as Windows server, just with certain server features crippled. In that respect, Linux never deliberately cripples itself.

However, if Linux is to follow the Microsoft paradigm, then keep systemd on the desktop version, so desktop users can enjoy a buggy/crashy experience, and keep systemd off the server version, so it runs smoothly.

Joking aside, the article doesn't make much sense. There are a million distros out there, and if you want to customize one with specific packages for specific work loads, just start with a minimalist system like Gentoo, Arch, or swtich to one of the BSD's.

Comment Agreed (Score 1) 7

Both achowe and 3vi1 have very good points. To expand on one of 3vi1's points (with which I agree completely), volunteer, open-source development counts as a hobby. Good devs don't work for free.

Sure, everyone makes mistakes, but if customer A wants this feature and customer B wants that feature, the design can change and bugs will result. The analogy here would be if a bricklayer lays some bricks and the architect says, "I changed my mind, let's use marble instead," the bricklayer is paid to replace the brick with marble.

Programming and construction are different beasts entirely. While some analogies work comparing the tech field to other fields, many analogies fail. Your bosses analogy just doesn't fit the tech field.

Comment Re:Before the flaming starts (Score 1) 3

If you can tell me more specifically what you want to accomplish, or the format of the data you are trying to manipulate, I can (hopefully!) point you towards more specific tools—there are just too many command line tools for data/text manipulation in linux, though most are available through cygwin (still a bit of a hack solution, but if Windows works best for you as an OS, then we'll find a solution for you in Windows).

Also, OpenOffice (or Libreoffice) is just another office suite, like MS Office, so it's still pretty bloated.

Comment Before the flaming starts (Score 1) 3

"Less useful but still useful are command shells." A command shell is only as useful as the CLI support. If you're using Windows, whose programs tend to have weak CLI support, then a command shell will be less useful.

"What else is out there?"

I recommend searching for the "tacobell programming" article. I use linux/bsd systems and almost all programs support CLI's. By using pipes, you can string several commands together, using one program's output as the next program's input, all on the command line. It's very, very powerful. There are so many programs I just take for granted, that when I use a Windows machine, I feel neutered without programs like grep, vi, dd, ctags, cat, head, tail, netstat, nmap, locate, less, sed... the list goes on and on (note, there are Windows versions of some of these programs, and they are available with cygwin for Windows, which provides a sort of decent unix-like interface for the Windows OS).

Comment Re:No tax, no law? (Score 1) 716

If these foreign subsidiaries aren't "tax resident in any nation", are they protected by the laws of any nation? It seems odd that a company can exist and be recognized as an entity that can hold property without being incorporated in a recognized nation. Can't we just take their stuff and see who they turn to for the protection of law?

I think this is a great idea. It would be especially ironic since Apple banned the drone strike tracking app from their app store.

Comment Age has nothin' to do with it (Score 1) 509

I'm twenty-seven years old.

From my limited experiences, "current" has nothing to do with it, nor does age. C has been around since there early '70's; in terms of systems-level programming, there is a huge benefit to being older. The older folk have seen tons of OS's born, raised, reach adolescence, get their first DUI, etc. They know what's it's like to play in a kernel that only has 256 KB of RAM, so they know how to optimize. Lots of youths these days are given higher and higher level languages as intro programming classes. My alma mater, to my dismay, replaced Java with Python for the intro class. I wish I had that insight. We younger generations are missing out on a lot of experience, and as more and more development moves to the web, lots of us are missing out on what really goes on under the hood.

Now, to address some of your statements:

"I work with a developer who is 10 years my senior, but still doesn't understand how to write concurrent code" This is a symptom of poor programmer quality, and has nothing to do with age. You can be 5, or you can be 65, but if you don't know what a spinlock is, then you don't know what a spinlock is. Multi-threading/multi-programming has been around for a long time.

"and cannot be trusted to use a revision control system without causing a mess that somebody else will have to clean up." I still have no idea how to use a revision control system. However, it's good practice, at least for me, to befriend someone who does understand them, so he can help you the hard times.

Comment Re:WHAT (Score 1) 286

File-level caching also has a lot of disadvantages. First and foremost, as you mentioned, it has to be tailored to specific file systems, like NTFS. For Linux and Unix OSs, there are so many file systems that porting file-level caching software to every one of them would be a nightmare. Linux/Unix has a generic block layer, so block-level caching software written for Linux/Unix is file system independent.

Second, the list of heuristics can easily spiral out of control. You might not want to cache a video file of a movie you're watching, but you probably would want to cache a video file of a movie you are editing. You have to know where the file came from, where it's going, how fast you want it to get there (i.e., priority), what programs are using it, etc. There's just too much contextual metadata that needs to be tracked; the more complicated the contextual metadata is, the more complicated the heuristics need to be. Also, statically defined heuristics may be inappropriate for dynamic environments.

Third, why cache an entire file if you're only working on a very small percentage of it? I have to admit, some file-level caches will only cache the "popular" portions of files, but in that case, why not just use a block-level cache and enjoy its better performance?

Also, I'm confused about "there are a lot fewer blocks than files," did you mean that the other way around? If you have a single 100 MB file, and the system's block size is 4K, you have a lot more blocks than files. There may be a smaller memory overhead with a file-level cache, but there's a greater CPU overhead due to all the contextual metadata and heuristic processing.

Slashdot Top Deals

FORTRAN is a good example of a language which is easier to parse using ad hoc techniques. -- D. Gries [What's good about it? Ed.]