I've been happy with Newsblur.com: the UI has a number of improvements over Google Reader — especially the trainer which allows you to prioritize keywords, domains, authors, tags, etc. up or down (great if you follow people who share things on multiple topics and you're just not interested in one of their hobbies) and the option to have it automatically load the remote article text, which is configurable per-site — perfect for sites which only publish a snippet of the full article. The social features are decent but definitely show the market fragmentation since the number of users is so much smaller than when almost everyone was on Google Reader.
Beyond the technical aspects, there are two things which I really like about Newsblur: 1. A non-bubble business model: it's a lean but reportedly profitable service, which means you're not looking to move as soon as the venture capital runs out 2. It's all open-source: https://github.com/samuelclay/... has the entire site and the official Android and iOS clients
I used to have the same question - then I set one up for internal documentation. Features like searching, ease of linking, version control, etc. get bandied around a lot but the simple, compelling argument is that they're easy enough to use that people actually use and, most importantly, write documentation.
In most places the general process goes something like this: nag someone for 6 months and they'll either foist the task over to someone lower on the food-chain (who is, of course, completely incapable of doing the job well - that's why they weren't asked in the first place) or eventually produce the bare minimum needed so they can say it's done with a straight face; this will be placed somewhere where a couple people will look at it once or twice and never updated. Eventually someone will realize that there's no documentation which reflects what's actually going on and start nagging someone...
With a wiki we actually have people writing documentation as they go. There's always going to be someone lazy but the barrier for entry is so low that they won't be able to come up with lasting excuses. Basically this is the first time I've worked anywhere where we have up to date, accurate documentation and it's basically due to lowering the barrier to entry that much further.
The PHPTal templates make that a lot easier than it used to be but the way they've switched to a modern XHTML+CSS approach may mean you don't even need to modify it at all - I just created an internal documentation wiki and was able to hit our standard look using only a custom stylesheet.
Anyone moderating "Redundant" might want to follow the link I posted where they would learn that the Southwestern netreg is different than the CMU netreg.
Southwestern's NetReg system was presented at multiple academic conferences in 1999 but the earliest references I found were in June - if they can prove it was in production in January it might be useful: http://southwestern.edu/ITS/netreg/
Check whether any of the photocopiers around campus support scanning: we have a Canon ImageRunner in one of the labs which I support. It's extremely fast - ~1 second per page for a double-sided scan and the feeder is pretty robust - we have grad students who take handwritten lecture notes for an entire class and dump this stack of a couple hundred crumpled pages into the feeder and end up with a PDF a couple minutes later.
It's funny how much effort people put into solving the wrong problem - if you simply treat your wireless network like the Internet and secure your actual services, none of this is a concern.
It's pretty scary to see how little the local Registrar of Voters cares about having any sort of verifiable voting system. The official FAQ even has two entries regarding reliability (how do I know my vote was counted accurately after casting it, what happens if there's a recount) and studiously avoids answering either one - in the first case they simply stop after describing a bunch of irrelevant steps which happen before you cast your vote and in the second they pretend that a generated image file stored on the machine is somehow more valid than the stored vote record on the same machine.
Since the editors entered the Reality Distortion Field - if any other company's product had been affected this would have been spun as a huge blow for fair-use.
The CIA project leader and his associates studied the Farewell material, examined export license applications and other intelligence, and contrived to introduce altered products into KGB collection. American industry helped in the preparation of items to be "marketed" to Line X. Contrived computer chips found their way into Soviet military equipment, flawed turbines were installed on a gas pipeline, and defective plans disrupted the output of chemical plants and a tractor factory. The Pentagon introduced misleading information pertinent to stealth aircraft, space defense, and tactical aircraft.(4)
I'd be inclined to say that you might not be able to speak for the entire US intelligence community...
I follow the security community pretty closely, monitor a fair number of techie news sites and otherwise try to stay aware of this sort of thing. The first I heard of the project was this story - I must have missed it the last time it was mentioned two years ago. Not many sites linked to sardonix.org after the initial news stories, either.
You can setup a Soekris box running m0n0wall and do everything in a single small box with no moving parts. Alternately you can save some cash using an old PC and either a CD-R or some sort of bootable flash drive.
It's embedded FreeBSD and will do all of the basic AP functions plus firewalling, traffic-shaping to keep P2P hogs from becoming nuisances, local DNS registration, etc.
This actually happened to a journalist after 9/11 - he had a darkly beautiful column describing the conversation he had with the airport security guy explaining that his powerbook had been perfectly functional until it fell off the ramp in front of said unconcerned security guy while he was being delayed for the wand search (and told to quiet down when he asked someone to grab the laptop).
Other horror stories have very similar sounding unconcerned people who threaten passengers for asking that their multi-thousand-dollar property not be broken.
I agree about the disturbing tone of the original post (it's nauseating to see all of the old anti-immigrant/foreigner BS getting new life because white-collar jobs are involved now) but there is one legitimate concern: communications. I've worked with on oversea projects and the latency hit for answering questions can eat a project alive - what you end up with is probably going to be late and not very close to what the customer (who has never talked with the actual development team) really wanted.
Much as we might hate to admit it meetings can actually be better than the alternatives - I ended up spending a month in Taiwan a few years ago simply so they could ask someone from our company questions in person rather than stringing them out over several days (or not asking because it's so slow).
I think this is going to keep most of the outsourcing worst-case scenarios from actually happening, at least until the average business learns how to manage projects effectively - given how poor the current average is this will probably take decades.
Ever get the impression that's what they had in mind? It costs more to hire someone who can fix the problem than someone who can annoy you into doing it and that gives them the option of blaming all future problems on your work, too.
It's not even worth trying to reason most times - I've gone through the "packets disappear 5 hops into cox.net territory and started doing so suddenly w/o config changes here" game a few times and it's much faster to play along:
"Yes, I made those changes. Let me reboot. [3 seconds] Nope, still broken. Yes it rebooted, I have a really fast computer. Okay, I'll hold for level 2."
Once you get past the drones at level one, you can get to the people who are allowed to tell you things like "the router serving your entire county is down" (this actually happened). I asked why the level one guys couldn't simply say "Nobody in San Diego has service" - the level two guy claimed that they not only weren't allowed to deviate from the script but in fact would be punished if they were caught! (Hence the term "drone" - if you weren't one before you started there, just wait a few months...)
That's a dangerous attitude to take - it's one reason why XP (or KDE/GNOME for that matter) is still too-slow on 3Ghz systems. There isn't a single problem behind that - it's just the effect of many areas where a small performance hit was deemed tolerable or code was optimized for something that made sense a decade ago.
The other risk is that making the hit small but still noticeable changes the way people use it. BFS searches were fast enough to be indistinguishable from regular folders, which changed the way you thought about searching - you didn't think of searching as an operation any more than you normally think about enumerating the contents of a directory. Those subtle UI queues are surprisingly hard to get right since even a small abstraction leak tends to break people's mental model of the system.
I think the performance of WinFS will tell us how serious Microsoft is about really changing the way files are used. Performance is just a question of time and engineering resources - OS X's journaling is slow but HFS+ is an antique filesystem; in contrast BeOS had BFS, a journaled filesystem with all of the indexing buzzwords WinFS claims except free-text context searches and it was also extremely fast.
The difference isn't features - BeFS supported everything HFS+ does and arbitrary attributes, journaling, much larger file/filesystem support, and indexing and it was still faster. Be simply made performance a much higher priority than Apple has so far; fortunately they've hired the BeFS lead developer and perhaps 10.3 will have some surprises.
Another good example is ReiserFS - while some of their choices reflect overall design goals (e.g. targeting large numbers of small files instead of BFS's massive videos) they've largely passed the traditional filesystems in most areas despite having to do more work to keep all of the extra features going.
Microsoft has a number of engineers who do understand performance; the question is simply whether it'll be a significant priority for them to make WinFS fast enough that we'll realistically be able to use it.
There's only one way to be secure and that's to use strong, end-to-end encryption. Anything which encrypts only the wireless portion is borderline snake-oil - not only does it not protect your data but it actually makes the problem worse since people see all of the cryptogeekery and assume that it's secure - after all, they didn't understand any of what they had to do to use it! All of this hassle merely gets you an insecure network which is now hard to use, less reliable and slower.
I've taken the opposite approach - my access points are wide-open (=easy to use) because all that gets you is access behind a firewall which allows HTTP to a squid proxy, SSH, HTTPS/IMAPS/POP3S/SMTPS, IM and DNS. (When IPSec is more widely available I plan to replace this with something which blocks almost all non-IPSec traffic. I'd be less surprised to find everything running over SSL a decade or more before near universal IPSec deployment)
This approach encourages better practices because it makes people aware that they're doing something risky - many people have no idea that anyone along the way could capture their password during one of the 5,000 times their email client sends it in cleartext during a given week. One of these days I'd like to hack together a script with ettercap's password collector which would periodically send someone's password to them in a warning and set the expired password flag on their account.
I'll second that: their coverage is uneven but I've downloaded a hundred or so albums and found quite a few keepers. Fans of blues or jazz will find a particularly nice collection of the classics and their rock/alt/techno selection has quite a few gems if you look around.
The real value of eMusic is that it takes the pain out of trying new groups. $10/month means you're ahead if you average one album a month and my average is probably in the 15-20 range. It's about as easy as it gets to round out your collectiom, too - they have many albums which are hard to find unless you live near a truly excellent record store.
um, what's so much harder about grasping about a pointer increment than array indexing?
Obviousness - which one will seem obvious to an inexperienced programmer like, say, a hypothetical trainee given the task of making minor changes to an old program.
Also, how do one optimise a jump in memory more then as a jump in memory?
You can't. The optimization comes from realizing that you're frequently performing the exact same operation on many elements and could thus use multiple threads and/or SIMD to parallelize it. Pointer math doesn't imply that this is the case so you're hoping that the compiler is smart enough to recognize that you are performing a parallelizable job. There's also an entire class of optimization problems facing a compiler attempting to determine if a given block of C can be parallelized safely, given certain uncommon but legal uses for pointers.
I think that's a difference in goals - game engines are an example of code you don't really expect to maintain in the normal sense. A game engine which is 5 years old is dead from a commercial standpoint - in contrast, much of the business world still relies on COBOL modules which were first written 20+ years ago.
Game programmers can also assume a higher level of competency for the reasons you mention - someone who is confused by pointer arithmetic is probably not going to be very useful on projects with such tight performance goals and delivery schedules.
(The usual caveats about premature optimization also apply but I don't have anything to say there which hasn't been rehashed countless times before)
That's an excellent example of what I consider the best rule for proper coding: make your goal as clear as possible. The code using array subscripting is easier for less-experienced maintenance programmers to work on and doesn't need to be replaced when you find a clever compiler does a better job.
The plural of annecdote is not data. Cancer is the second leading cause of death in the US (right behind heart failure) so almost any group will have a high number of people who die of cancer. It's also important to remember that clusters are almost guaranteed given random distribution in small populations which is one of the reasons why it's so hard to assess the cause of something like cancer which can be caused by many things and can take years to develop.
All of which means we need very broad, careful studies before we'll know with any degree of certainty and so far those studies have yet to turn up a link. That suggests that microwaves (and cell phones, etc.) are relatively harmless simply because they're so pervasive that there'd have been a dramatic spike in the cancer rates by now. (Put another way, I'd worry a lot more about the food you're eating than the microwave you use to heat it)
I've been happy with Newsblur.com: the UI has a number of improvements over Google Reader — especially the trainer which allows you to prioritize keywords, domains, authors, tags, etc. up or down (great if you follow people who share things on multiple topics and you're just not interested in one of their hobbies) and the option to have it automatically load the remote article text, which is configurable per-site — perfect for sites which only publish a snippet of the full article. The social features are decent but definitely show the market fragmentation since the number of users is so much smaller than when almost everyone was on Google Reader.
Beyond the technical aspects, there are two things which I really like about Newsblur:
1. A non-bubble business model: it's a lean but reportedly profitable service, which means you're not looking to move as soon as the venture capital runs out
2. It's all open-source: https://github.com/samuelclay/... has the entire site and the official Android and iOS clients
I used to have the same question - then I set one up for internal documentation. Features like searching, ease of linking, version control, etc. get bandied around a lot but the simple, compelling argument is that they're easy enough to use that people actually use and, most importantly, write documentation.
In most places the general process goes something like this: nag someone for 6 months and they'll either foist the task over to someone lower on the food-chain (who is, of course, completely incapable of doing the job well - that's why they weren't asked in the first place) or eventually produce the bare minimum needed so they can say it's done with a straight face; this will be placed somewhere where a couple people will look at it once or twice and never updated. Eventually someone will realize that there's no documentation which reflects what's actually going on and start nagging someone...
With a wiki we actually have people writing documentation as they go. There's always going to be someone lazy but the barrier for entry is so low that they won't be able to come up with lasting excuses. Basically this is the first time I've worked anywhere where we have up to date, accurate documentation and it's basically due to lowering the barrier to entry that much further.
The PHPTal templates make that a lot easier than it used to be but the way they've switched to a modern XHTML+CSS approach may mean you don't even need to modify it at all - I just created an internal documentation wiki and was able to hit our standard look using only a custom stylesheet.
Anyone moderating "Redundant" might want to follow the link I posted where they would learn that the Southwestern netreg is different than the CMU netreg.
Southwestern's NetReg system was presented at multiple academic conferences in 1999 but the earliest references I found were in June - if they can prove it was in production in January it might be useful: http://southwestern.edu/ITS/netreg/
Check whether any of the photocopiers around campus support scanning: we have a Canon ImageRunner in one of the labs which I support. It's extremely fast - ~1 second per page for a double-sided scan and the feeder is pretty robust - we have grad students who take handwritten lecture notes for an entire class and dump this stack of a couple hundred crumpled pages into the feeder and end up with a PDF a couple minutes later.
It's funny how much effort people put into solving the wrong problem - if you simply treat your wireless network like the Internet and secure your actual services, none of this is a concern.
It's pretty scary to see how little the local Registrar of Voters cares about having any sort of verifiable voting system. The official FAQ even has two entries regarding reliability (how do I know my vote was counted accurately after casting it, what happens if there's a recount) and studiously avoids answering either one - in the first case they simply stop after describing a bunch of irrelevant steps which happen before you cast your vote and in the second they pretend that a generated image file stored on the machine is somehow more valid than the stored vote record on the same machine.
Since the editors entered the Reality Distortion Field - if any other company's product had been affected this would have been spun as a huge blow for fair-use.
I'd be inclined to say that you might not be able to speak for the entire US intelligence community...
I follow the security community pretty closely, monitor a fair number of techie news sites and otherwise try to stay aware of this sort of thing. The first I heard of the project was this story - I must have missed it the last time it was mentioned two years ago. Not many sites linked to sardonix.org after the initial news stories, either.
You can setup a Soekris box running m0n0wall and do everything in a single small box with no moving parts. Alternately you can save some cash using an old PC and either a CD-R or some sort of bootable flash drive.
It's embedded FreeBSD and will do all of the basic AP functions plus firewalling, traffic-shaping to keep P2P hogs from becoming nuisances, local DNS registration, etc.
This actually happened to a journalist after 9/11 - he had a darkly beautiful column describing the conversation he had with the airport security guy explaining that his powerbook had been perfectly functional until it fell off the ramp in front of said unconcerned security guy while he was being delayed for the wand search (and told to quiet down when he asked someone to grab the laptop).
Other horror stories have very similar sounding unconcerned people who threaten passengers for asking that their multi-thousand-dollar property not be broken.
I agree about the disturbing tone of the original post (it's nauseating to see all of the old anti-immigrant/foreigner BS getting new life because white-collar jobs are involved now) but there is one legitimate concern: communications. I've worked with on oversea projects and the latency hit for answering questions can eat a project alive - what you end up with is probably going to be late and not very close to what the customer (who has never talked with the actual development team) really wanted.
Much as we might hate to admit it meetings can actually be better than the alternatives - I ended up spending a month in Taiwan a few years ago simply so they could ask someone from our company questions in person rather than stringing them out over several days (or not asking because it's so slow).
I think this is going to keep most of the outsourcing worst-case scenarios from actually happening, at least until the average business learns how to manage projects effectively - given how poor the current average is this will probably take decades.
----- The following addresses had permanent fatal errors -----
... User unknown)
(reason: 550 5.1.1
(expanded from: )
"Yes, I made those changes. Let me reboot. [3 seconds] Nope, still broken. Yes it rebooted, I have a really fast computer. Okay, I'll hold for level 2."
Once you get past the drones at level one, you can get to the people who are allowed to tell you things like "the router serving your entire county is down" (this actually happened). I asked why the level one guys couldn't simply say "Nobody in San Diego has service" - the level two guy claimed that they not only weren't allowed to deviate from the script but in fact would be punished if they were caught! (Hence the term "drone" - if you weren't one before you started there, just wait a few months...)
That's a dangerous attitude to take - it's one reason why XP (or KDE/GNOME for that matter) is still too-slow on 3Ghz systems. There isn't a single problem behind that - it's just the effect of many areas where a small performance hit was deemed tolerable or code was optimized for something that made sense a decade ago.
The other risk is that making the hit small but still noticeable changes the way people use it. BFS searches were fast enough to be indistinguishable from regular folders, which changed the way you thought about searching - you didn't think of searching as an operation any more than you normally think about enumerating the contents of a directory. Those subtle UI queues are surprisingly hard to get right since even a small abstraction leak tends to break people's mental model of the system.
I think the performance of WinFS will tell us how serious Microsoft is about really changing the way files are used. Performance is just a question of time and engineering resources - OS X's journaling is slow but HFS+ is an antique filesystem; in contrast BeOS had BFS, a journaled filesystem with all of the indexing buzzwords WinFS claims except free-text context searches and it was also extremely fast.
The difference isn't features - BeFS supported everything HFS+ does and arbitrary attributes, journaling, much larger file/filesystem support, and indexing and it was still faster. Be simply made performance a much higher priority than Apple has so far; fortunately they've hired the BeFS lead developer and perhaps 10.3 will have some surprises.
Another good example is ReiserFS - while some of their choices reflect overall design goals (e.g. targeting large numbers of small files instead of BFS's massive videos) they've largely passed the traditional filesystems in most areas despite having to do more work to keep all of the extra features going.
Microsoft has a number of engineers who do understand performance; the question is simply whether it'll be a significant priority for them to make WinFS fast enough that we'll realistically be able to use it.
There's only one way to be secure and that's to use strong, end-to-end encryption. Anything which encrypts only the wireless portion is borderline snake-oil - not only does it not protect your data but it actually makes the problem worse since people see all of the cryptogeekery and assume that it's secure - after all, they didn't understand any of what they had to do to use it! All of this hassle merely gets you an insecure network which is now hard to use, less reliable and slower.
I've taken the opposite approach - my access points are wide-open (=easy to use) because all that gets you is access behind a firewall which allows HTTP to a squid proxy, SSH, HTTPS/IMAPS/POP3S/SMTPS, IM and DNS. (When IPSec is more widely available I plan to replace this with something which blocks almost all non-IPSec traffic. I'd be less surprised to find everything running over SSL a decade or more before near universal IPSec deployment)
This approach encourages better practices because it makes people aware that they're doing something risky - many people have no idea that anyone along the way could capture their password during one of the 5,000 times their email client sends it in cleartext during a given week. One of these days I'd like to hack together a script with ettercap's password collector which would periodically send someone's password to them in a warning and set the expired password flag on their account.
I'll second that: their coverage is uneven but I've downloaded a hundred or so albums and found quite a few keepers. Fans of blues or jazz will find a particularly nice collection of the classics and their rock/alt/techno selection has quite a few gems if you look around.
The real value of eMusic is that it takes the pain out of trying new groups. $10/month means you're ahead if you average one album a month and my average is probably in the 15-20 range. It's about as easy as it gets to round out your collectiom, too - they have many albums which are hard to find unless you live near a truly excellent record store.
Obviousness - which one will seem obvious to an inexperienced programmer like, say, a hypothetical trainee given the task of making minor changes to an old program.
You can't. The optimization comes from realizing that you're frequently performing the exact same operation on many elements and could thus use multiple threads and/or SIMD to parallelize it. Pointer math doesn't imply that this is the case so you're hoping that the compiler is smart enough to recognize that you are performing a parallelizable job. There's also an entire class of optimization problems facing a compiler attempting to determine if a given block of C can be parallelized safely, given certain uncommon but legal uses for pointers.
I think that's a difference in goals - game engines are an example of code you don't really expect to maintain in the normal sense. A game engine which is 5 years old is dead from a commercial standpoint - in contrast, much of the business world still relies on COBOL modules which were first written 20+ years ago.
Game programmers can also assume a higher level of competency for the reasons you mention - someone who is confused by pointer arithmetic is probably not going to be very useful on projects with such tight performance goals and delivery schedules.
(The usual caveats about premature optimization also apply but I don't have anything to say there which hasn't been rehashed countless times before)
That's an excellent example of what I consider the best rule for proper coding: make your goal as clear as possible. The code using array subscripting is easier for less-experienced maintenance programmers to work on and doesn't need to be replaced when you find a clever compiler does a better job.
The plural of annecdote is not data. Cancer is the second leading cause of death in the US (right behind heart failure) so almost any group will have a high number of people who die of cancer. It's also important to remember that clusters are almost guaranteed given random distribution in small populations which is one of the reasons why it's so hard to assess the cause of something like cancer which can be caused by many things and can take years to develop.
All of which means we need very broad, careful studies before we'll know with any degree of certainty and so far those studies have yet to turn up a link. That suggests that microwaves (and cell phones, etc.) are relatively harmless simply because they're so pervasive that there'd have been a dramatic spike in the cancer rates by now. (Put another way, I'd worry a lot more about the food you're eating than the microwave you use to heat it)