It sounds like in your grandparents house the subpanel is grounded to the piping, not a true, seperate earth ground. That's common in a lot of older or not professionally installed electrical systems and they should have it looked at and repaired by an electrician. I've encountered quite a few older installations like that. It's dangerous because the piping system doesn't make a very good ground.
tic I would agree, except that the house is new (built in 2001) and was all done by licensed contractors. I'm quite confident something is getting grounded to the pipes, but I'm not sure what. Could it perhaps be something like the well water pump or water heater? I'm also still not sure what was with that coaxial cable either (although I honestly do not remember where I was when I found that cable). I'm guessing it was actually grounded, probably to an outlet, but somewhere else part of the socket grounding wire must have come undone, resulting an any ground leaks being routed to the coaxial cable. (For what it is worth, the coaxial cable was disconnected on the end I touched.)
Indeed, or at least make the ribbon easy to customize, like the toolbars (and menus) used to be. My understanding is that the system can be customized using.net assemblies, but doing that is difficult even for the few users that know how to do it. It is all but impossible for the average user.
(dc would just lock your muscles, AC makes you twitch) In my experience, dc tends to also make you twitch (once, often breaking the circuit). I think this is because the current doesn't normally flow equally through all muscles (if this seems odd, as yourself why the currents would be equal). Since that means you get differential contraction forces, you get net movement. Yeah, but here it is more a a minor continuous twitching, more of a tingling really. My grandparents have a house where the external water spigot is not at ground potential. Using a multimeter, sticking one end into the soil (not a great ground connection, but better than nothing) I saw at least 5V AC (probably more like 10V) volatge riding on a small DC offset. Obviously something was not grounded very well. The spigot had a tendency to shock those who were trying to use it. I've also grabbed coaxial cable before where the grounded part of the cable clearly wasn't as a could definitely feel a fairly strong 60 HZ buzz.
We have bandwidth usage caps in Australia and they suck big time. It varies between ISPs, but some charge additional fees (usually not too much) for exceeding bandwidth, but most cap the speed down to a ridiculous 64kbps! For someone like myself, who often exceeded usage (especially given that the bandwidth cap was so low), it was unbearable. My bandwidth cap was just 6GB when I was stuck on an ADSL1 plan due to lack of support for ADSL2+ at the exchange; the ADSL2+ plan for the same price was, I believe, 40GB (split between peak and off-peak periods, giving 20GB each). Even the 40GB was too low sometimes when I was able to get ADSL2+.
Would something like the following be better? It does not have a total data transfer cap per se, (although obviously there is an effective cap), but if you use the line heavily (at a rate exceeding a specified data transfer rate) for more than a certain amount of time per month, you receive a true bandwidth (data transfer rate) cap that is still high enough to be useful.
(assuming a 2.5 Mbps line): "If you exceed the rate of 1.8 Mbps for more than 60 hours in a month, for the rest of the month you will be limited to a rate of only 1 Mbps". (Note that you could use 1.6 Mbps the whole month without problem. The idea would be to keep your average data transfer rate below a certain level.) This helps them with an oversubscribed line, without doing idiotic things like calling a monthly data transfer limit a bandwidth cap.
The reason total traffic is the way ISPs want to deal with end users is that it's easier to explain "you can move 20 gigabytes" than "90th percentile usage will be at no more than 30% of the data rate capacity of the circuit". Still, I think people would understand easily enough if they were told, "For 60 hours a month, you can max out your line. The rest of the time, you're going to be at 1 Mbps".
You are right. When they say bandwidth cap when talking about a consumer line they are most likely talking about a cap on the total data transfer, not on the data-rate, which is what we would expect. (Since they use the term bandwidth as more or less a synonym for data rate, and we have tended to follow that useage).
The other possibility is that a "bandwidth cap" could be something really weird like a cap on total data transfer per day, after which the connection cuts out for the remainder of the day. Or a similar thing based an hour rather than a day. (I've seen many low-cost hosting solutions that work like that, rather than doing the most sane thing, and just placing a true data-transfer rate cap on the host.)
But I agree that the most sensible restriction would be more along the lines of what you have posted, although more accurately it would probably be more along the lines of the following (assuming a 2.5 Mbps line): "If you exceed the rate of 1.8 Mbps for more than 60 hours in a month, for the rest of the month you will be limited to a rate of only 1 Mbps". (Note that you could use 1.6 Mbps the whole month without problem. The idea would be to keep your average data transfer rate below a certain level. Also notice that if the month was based on a true calendar month, toward the end they would have many people capped cutting the ISP's total data-transfer rate significantly lower than than the maximum which occurred earlier that month. To help level things out, they could assign each user a random day (1-28) on which the "month" as used in the above described capping system would begin. The total effect would be help keep the maximum data transfer rate the ISP needs to deal with lower than it currently is, without having to resort to cutting off heavy users entirely.)
I'm sure people care more about the contents of their/bin folder (or whatever passes for that in OS X)
For the record, there is a/bin folder, but that is only for the low level Unix style tools.
The main applications can be located anywhere in the hard-drive, but are most often kept in/Applications. Of course the bundle system that the apps use make browsing the installed applications as easy as browsing the/Applications folder, which is why there is no real need for a statr-menu like system. The Dock and desktop can hold shortcuts to the most commonly used applications, otherwise, you just browse/Applications.
Having the code open is just one piece of the puzzle. There also has to be stringent auditing of the voting machines and random spot-checking of them to ensure that the code being run is the exact same as the code that is published and open.
But here is the thing, the main voting machines are basically just a ballot printing machine. You enter the vote selections, and it prints a ballot with both user-readable and machine readable representations. The machine itself does not store any vote information. The ballot is verified by the voter and placed in the ballot box.
Now for the way the vote counting works, it works by machine tallying with human oversight. There is a projection screen showing a running tally of the votes. There is also a projector. Each ballot is place on the projector one at a time to allow the audience to see the votes on it. Then the ballot's bar code is scanned, and the vote tallies on the screen update. The audience can thus easily verify that the changes to the running tally match the human readable votes on the ballot. (In a many issue ballot, not everybody would be able to track every issue, but as long as at least a few people track each issue, things should be fine). People would be watching to be sure that the tallies change only by one with each vote, never change except when a vote is scanned, and no vote is ever scanned more than once. Lack of a vote on an issue can also be tallied to ensure the sum of the votes and lack of votes tallied is equal to the total number of ballots. The precinct's final certified counts for all the issues would be presented to the audience so they can verify that it does indeed match the final tallies. Then it can be sealed, and sent on. This system would make the entire process up to the precinct level completely transparent.
Obviously this does not eliminate problems occurring at higher levels, but it does seem to work very well for the rest of it. Also note that there is noting about this system that truly requires electronic devices. The ballots could be filled out by hand, and the ballot tally process could be done using a bunch of regular old mechanical counting devices, (the odometer like ones that increase each time the button is pushed). However, here the electronics would be not be black boxes at all. They would simply be helping to speed up the process some. In fact that is quite desirable at the vote counting portion, as the speed is fast enough so that the audience does not fall asleep, but show enough that the audience an still verify that the tallying is still correct.
Oh yes, I almost forgot to mention that the policy would be that should the human readable portion of the ballot, and barcode disagree, the human readable portion would prevail, as that is what the voter could actually verify before placing the ballots in the box.
If anybody can think of any problems the system I have described still has, I would like to hear about them.
Americans are mostly literate, hardworking, and competent at their jobs. This is the success of the American education system. It's a similar level of success to similar education systems in each first world country. There is really nothing horribly wrong with the fundamental design of these systems. They are weakened more by decadence (reduction in traditional discipline), the growth in power of teachers' unions (fighting the firing of bad teachers), and divergence from proven methods of teaching (such as "whole word reading" and "new math", and their misbegotten descendants) than they are by imperfections in their basic design. Come on. Teacher Unions have no power at all. The only reason bad teacher cannot be fired in most of the country is that firing them would be firing at least 75% of the nation's teachers when teaching is a job that is so highly undesirable that there are not enough teachers as it is already. Education is so underfunded it is not even funny. Sure you may not have noticed this if you attended a private school, but decent private schools today cost many, many times more than they used to, for a quality of education that has not noticeably increased over time, and may in fact have decreased. Then you have standardized tests that actually hurt the educational system. Many of those tests were genuinely intended to determine how well a school is doing, but many schools teaching a proper curriculum did not do very well on those tests, for a whole variety of reasons. The result? Teachers feel the need to teach for the test. In some classes, basic concepts that are very important to understand are skipped entirely, simply because there is no chance of them appearing on the tests.
Insert key - the editor "brief" mapped this to yank C-Y in emacs lingo or paste ^V in CUA.
It made some sort of sense as "insert" could be construed as "insert the junk i just wiped out". And it was actually useful.
Caps-lock - just remap it to a control key. It's easy to do in Linux and Windows. It's a very fixable misfeature. But then sometimes I have to use someone else's computer...
Num-lock - I agree. In 1983 they had a cheap keyboard without a numerical keypad, why are we suffering this atrocity 25 years later? I don't use the numberpad because you never know what stupid mode it's in. Is there a way to force number-mode all the time? In Linux (both console and X) and windows too? It's nice to be able to trust your keys.
Scroll-lock, SysRq/Printscreen, Break/Pause - why do these buttons exist and why does nearly nothing use them? SysRq is at least useful in Linux with the magic SysRq key logic.
Well I'll be completely honest, the only real use of the scroll lock key I've seen is in the Linux console. All other uses I've seen for it are just using it because it normally does pretty much nothing.
Print Screen is moderately useful as a screen capture key (which is what it does by default under Windows). (Keep in mind that SysRq is theoretically a separate key. On the standard keyboard SysRq is scancode 84. It can only be sent by hitting the print Screen key while holding the Print Screen key. Oddly enough the Print Screen key normally sends 2 extended scancodes, but only the second one is sent if a shift or control key is sent.) The only use I have ever seen of the SysRq key is the Linux magic handling.
The pause/break key was once a fairly reliable pause key in old DOS games. Obviously not all supported it, but enough did that either it or ctrl-p would be your first attempt. Now in terms of scancodes all hell breaks loose with that key. It also seems (based on some very limited testing) that most applications that allegedly respond the the break key, are actually looking for the pause key. Apparently a few laptop keyboards have separated the two functions of the key. Everything I've tested that claims to use the break key only works with the pause key on those keyboards.
So I do occasionally use the Print Screen key and pause/break although admittedly not very often. I do use it more often than the funny cursor key (basically never), and even more often than I intentionally use the capslock key (very rare).
I'm curious how you know about this "NIB" system, and a bit more importantly, why a Google search for more information does not seem to yield more information. Microsoft has actually always been fairly open about the underlying architecture of their operating systems. MSDN if full of such information, even the the point that it probably leaks things Microsoft had intended to be trade secrets. So it kind of surprises me that it is hard to get any additional information about this system. Any pointers to documentation about this system would be appreciated. Thanks.
I thought it was a bad move when my old university moved the intro courses from Pascal to Java. I much preferred the model where you do Java LAST. But after two courses in Java you always moved to C so you'd be able to understand the OS, graphics and networking courses. Plus assembly and assembly-with-wires of course. Well, actually, I would recommend C then Java then C++. C first because it gives you the basic concepts used by all three languages, as well as general fundamentals of concepts like pointers. Java would be next as a way to teach the fundamentals of OO programming without having to worry about some lower level concepts nearly as much. Finally, with foundation in both the general concepts like pointers, as well as OO techniques, C++ is far easier to teach. In fact, teaching it is mostly teaching about the additional facilities, and how objects are managed in the language (objects default to pass by value (using copy constructor) rather than pass by reference as seen in Java and C#, etc.)
There is no real competition under the OCAP model, because when plugged into the cable network and activated, the boxes will all be EXACTLY THE SAME. Sort of like all web browsers are all EXACTLY THE SAME, right? Please. This is almost exactly analogous to a web browser - the set top acts as a browser of the cable's content. There are plenty of features that set top boxes will be able to offer in addition to displaying cable content. (Things like Internet video come to mind.) Sure internet video could be added, but it would use an interface that looks very different than the main interface. It would not be possible for a box to offer a superior DVR scheduling algorithm. For example, if a show cannot be taped due to not enough tuners on a Tivo box (for example two tuners in the box, but three shows to record in that time-block, the lowest priority one will not be recorded), it is possible for it to automatically record that episode the next time it comes on. On many DISH Network DVRs, there is no way to request that. It would require realizing there was a conflict (it will not warn you), manually finding the show, etc. It would not shock me to find out that no cable company would include a good scheduler. But that would be part of the protected section of the system, so the boxes could not change it. If a cable companies system was buggy, you could not fix it with a different box. Etc.
Indeed, in the unlikely event Apple does feel the need to close the iTunes Store due to lack of sufficient sales, I fully expect to see the iTunes software sprout some brand new features for integration with other music stores. Why? Because the nice integration is a selling point for the iPods, and Apple would hate to lose that.
I've always been confused with recommending VLC as a general purpose media player. It works, but it is missing a few nice features found in most normal media players. I recommend it for playing files that may be partially corrupted, or that your regular media player will not handle, (in addition to using it watch streaming media, or in some cases transcoding) but it just does not seem to be very suitable as a general media player.
Although now that I think back, I remember that my largest issue with it was just that it tended to crash if I jumped around in the file, which probably just a bug in the version I had. OK. Well know I've updated it and researched it and my current gripes are:
that there does not appear to be a "rewind" feature
that most options in the preference pane do not seem to take effect until the player is restarted
media keys do not automatically work, unlike MPC
that there is no option to clamp the window to the aspect ratio. (A.K.A resizing the frame requires keeping the same aspect ratio, so that the player does not ever add black border in windowed mode).
5mW was chosen because it was just weak enough for the blink reflex to save your eyes. With a 200mW green laser, even at 500 to 1000 ft, your blink reflex is not fast enough to prevent retina damage. In fact, you only have to see it for less than a 10th of a second to blind you, at least temporarily (minutes) if not permanently. Few minutes of blindess for the pilot, *and* the co-pilot (remember, police copters have glass bottoms, and laser disperses to about 3 feet at this distance), puts a lot of people in danger. If the couple was actually using those ebay high-power lasers to point at helicopters, they should serve jail time.
You also forget that our eyes are more sensitive to green light. It's easier to blind people with green light than with red light. Also keep in mind that the effects of a 200mW green laser by the time it has dispersed to a point 3ft diameter is absolutely minimal assuming a normal original diameter. A red laser at 10 ft would do much more damage. I suspect if the beam had dispersed to a 3 foot diameter, the eye would have mostly recovered by the time it had finished blinking.
There are still three codebases. However because two of them are both so closely related it is inevitable that they would resuse each other. For example, I'm quite sure that the server codebase merges in many of the changes in the NT codebase. Perodically then it is adventageous for the NT codebase to merge any desktop relevent changes from the server line. However, Vista still has does not have all of the code from Server. A fair amount of the server optimization code for example, would be less than useless on a Desktop. It could actually hurt desktop performance. (Which as we are quite aware is already fairly weak in Vista.)
Just to veryify, do you mean the original TV series (which is what you have actually specified) or the new series "Bionic woman"? For what its worth, the latter is definitely pirated by some people. The former, not so much. (But I have seen a few eps of the original series in the system.)
"Home" is really more of a "Workstation lite", with a lot of the workstation features disabled
Alternately, you can think of "Home" as the successor to Windows ME, with an NT kernel. I'll try to do this schematically (WKS = Workstation, SVR = Server, and some other weird abbreviations used to make the alignment work):
Wind. 98 --> Wind. ME --> XP Home --> Vista Home
NT 4 WKS --> 2000 WKS --> XP Prof --> Vista Ultimate
NT 4 SVR --> 2000 SVR --> SVR 2K3 --> SVR 2008
In reality, things are a lot more complicated, because there are other editions, Win 2K Advanced Server, x64 editions, and God knows how many variants of Vista. (Maybe "Vista Business" is a better fit than "Ultimate" above too.) In addition, a lot of people who were or would have been in the 95/98 line moved to the "Pro" line for XP. But, for most people, things probably progressed as indicated.
While that is more or less true, consider that tere are really only three main OS Codebases in Microsoft now. Windows NT (non server, the current offering is various form of Vista, as well as XP until they discontinue it). Windows server (a very close relative to the NT series, but optimized for server environments, and multi-processor usage.)
Those two code bases are close enough that they share binaries (when on the same architecure) and they could even be used for the opposite purposes with only minor difficulty.
However Windows CE codebase is a bit different. It is still distinctly Windows, but Executable compatibility with the NT series is rare. (That is due in large part to the fact that most CE devices seem to be platforms other than x86.) Interestingly it is possible to create.NET apps that run under CE and modern NT. Since the desktop Framework is largely a superset of the compact framework, the desktop assemblies get used, so code using only.net compact framework and no CE specific assemblies will run just fine on a desktop system.
Now you may notice that there are also some special sub-codebases. For example there is the NT Embedded codebase (seen as Windows XP Embeded), and the NT PE versions
Normally nothing else. But here is the main thing. Any student can request a developer's key. Once they have a developer's key they have full control over the computer and could disable the security system entirely. Now, how does one prevent a thief from requesting the key? Well to quote the spec: "The key-issuing process incorporates a 14-day delay to allow for a slow theft report to percolate up through the system, and is only issued if the machine is not reported stolen at the end of that period of time." To see the whole OLPC security specification see http://wiki.laptop.org/go/OLPC_Bitfrost especially the "P_THEFT: anti-theft protection" section.
Don't forget about header include guarding - as mentioned by this comment, for example. One of the reasons I really hate using Microsoft's headers - they don't do include guards so the order of the includes matters; they use the #pragma once guard, which is not really a guard as you then have to get the order right, and God help you if you have to include your header before another header that ends up creating a circular loop due to the #pragma once guards.
Lack of structure tags, preventing forward declaration. Don't do typedef struct {... } foo_t; do struct foo_t { }; and a typedef if necessary.
Well...except that when working with Strict C and a compiler such as Microsoft's VS 2005 C compiler, you have to typedef the struct. Annoying but required or else you get all kinds of errors. Been there. Done that. And technically for Strict C, you should be. In C++, however, you are right, but why break the backwards compatibility?
Also, don't forget lack of comments in general either.
Strict C? do you perhaps mean ISO C? Offically the following code is not valid: "struct foot_t{...};/* other stuff */ foo_t myfoo;" but that is because the valid code is "struct foo_t{...};/* other stuff */ struct foo_t myfoo;". However, because many people do not like the requirement to include the struct keyword all the time, they simply typedef the struct, often times never give the struct a name, resulting in an anonymous struct.
The best solution though is to go "struct foo_t {...} foo_t;". That allows "foo_t myfoo" to work, but "struct foo_t myfoo" still works fine too. Further should still be possible to forward declare this struct. Please note that this solution is valid C and C++. One word of warning though: do not do a "typedef struct foo_t foo_t;" after the forward declaration. That would work, except that the real declaration of the struct includes the same typedef, and while C++ allows duplicate typedefs, C does not.
About this one:
Header files you can't #include without getting errors because you didn't #include something it requires (but stupidly doesn't #include itself) Coding mantra at my university (as in, I heard it from more than a few teachers) is that you should never have your includes in header files.
Of course this always sounded strange to me because then you have to always remember what includes are required for that particular header. I think it had something to do with avoiding multiple header declarations, but I though that's what the #ifndef XXX_H #define XXX_H technique was for.
So what I'm asking is: why have I always heard that #including in your headers is a big no-no?
Well there is also the concern that the header files should avoid pulling in other headers when possible, because that pollutes the user's name-space. Instead, it is theoretically cleaner to use forward declarations of structs, and using a function prototype if you only need one function from a large header.
That said, it is still very common to include header files in other headers. There are various reasons for this.
In the end though, it is basically a stylistic choice.
Now, who knows what kind of stuff is rated less than secret. It's probably somewhere in sensitivity between the bills for the Coke machines and Osama bin Laden's cell phone number.
But most likely the article is some activist trying to stir up FUD, or just the usual sloppy, lazy journalism. Actually Osama's satellite phone number is not secret at all. But he has not used it in a long time, some sources indicate it was last used in 1998. The number is 00 873 682 505 331.
He may have a regular cell phone that he uses now (assuming he is still alive) but if so, I'm not sure even the DoD knows it.
Well, it was only in 2003 that the title to the island of Kaho'olawe was transfered to the State of Hawai'i. Prior to that point the Island was a federal possession, and therefore, any broadcasts that would be receivable on the island must have crossed state lines. The the moment, such an argument could not hold water. However, there are plains to return create the equivlant of an Indian reservation for Native Hawai'ians. Like the Indian Nations they would be a Sovereign nation (at least in so far as the United States is concerned). So then radio broadcasts in Hawai'i would again be international communication.
Can someone explain to me why a company has to pay the FCC huge gobs of money in order to use a frequency in the air?
And speaking of which, what does the FCC have to do with interstate commerce? Perhaps they could regulate broad casting between states, but if I have a device that doesn't broadcast over state lines where is the basis in the original framework for such an organization to dictate who or what does something with the device you built.
Now I suppose the FCC could regulate devices that are shipped from overseas or interstate wise but if you build it yourself then why should they have a say? The real reason is that if the FCC did not regulate radio signals inside a state, then the state would need to. The states simply are not interested in that. If they were they would have challenged the FCC already. After all, the resources the FCC needs to regulate interstate transmission of radio signals make it the ideal candidate for regulating radio signals inside the state. Further, remember that there is no reason a state could not delegate some of their rights to a Federal Agency. Is is really that important that the States have made this delegation implicitly rather than explicitly?
It sounds like in your grandparents house the subpanel is grounded to the piping, not a true, seperate earth ground. That's common in a lot of older or not professionally installed electrical systems and they should have it looked at and repaired by an electrician. I've encountered quite a few older installations like that. It's dangerous because the piping system doesn't make a very good ground.
tic
I would agree, except that the house is new (built in 2001) and was all done by licensed contractors. I'm quite confident something is getting grounded to the pipes, but I'm not sure what. Could it perhaps be something like the well water pump or water heater? I'm also still not sure what was with that coaxial cable either (although I honestly do not remember where I was when I found that cable). I'm guessing it was actually grounded, probably to an outlet, but somewhere else part of the socket grounding wire must have come undone, resulting an any ground leaks being routed to the coaxial cable. (For what it is worth, the coaxial cable was disconnected on the end I touched.)
They want the damn ribbon to go away!
Indeed, or at least make the ribbon easy to customize, like the toolbars (and menus) used to be. My understanding is that the system can be customized using .net assemblies, but doing that is difficult even for the few users that know how to do it. It is all but impossible for the average user.
Would something like the following be better? It does not have a total data transfer cap per se, (although obviously there is an effective cap), but if you use the line heavily (at a rate exceeding a specified data transfer rate) for more than a certain amount of time per month, you receive a true bandwidth (data transfer rate) cap that is still high enough to be useful.
(assuming a 2.5 Mbps line): "If you exceed the rate of 1.8 Mbps for more than 60 hours in a month, for the rest of the month you will be limited to a rate of only 1 Mbps". (Note that you could use 1.6 Mbps the whole month without problem. The idea would be to keep your average data transfer rate below a certain level.) This helps them with an oversubscribed line, without doing idiotic things like calling a monthly data transfer limit a bandwidth cap.
You are right. When they say bandwidth cap when talking about a consumer line they are most likely talking about a cap on the total data transfer, not on the data-rate, which is what we would expect. (Since they use the term bandwidth as more or less a synonym for data rate, and we have tended to follow that useage).
The other possibility is that a "bandwidth cap" could be something really weird like a cap on total data transfer per day, after which the connection cuts out for the remainder of the day. Or a similar thing based an hour rather than a day. (I've seen many low-cost hosting solutions that work like that, rather than doing the most sane thing, and just placing a true data-transfer rate cap on the host.)
But I agree that the most sensible restriction would be more along the lines of what you have posted, although more accurately it would probably be more along the lines of the following (assuming a 2.5 Mbps line): "If you exceed the rate of 1.8 Mbps for more than 60 hours in a month, for the rest of the month you will be limited to a rate of only 1 Mbps". (Note that you could use 1.6 Mbps the whole month without problem. The idea would be to keep your average data transfer rate below a certain level. Also notice that if the month was based on a true calendar month, toward the end they would have many people capped cutting the ISP's total data-transfer rate significantly lower than than the maximum which occurred earlier that month. To help level things out, they could assign each user a random day (1-28) on which the "month" as used in the above described capping system would begin. The total effect would be help keep the maximum data transfer rate the ISP needs to deal with lower than it currently is, without having to resort to cutting off heavy users entirely.)
I'm sure people care more about the contents of their /bin folder (or whatever passes for that in OS X)
For the record, there is aBut here is the thing, the main voting machines are basically just a ballot printing machine. You enter the vote selections, and it prints a ballot with both user-readable and machine readable representations. The machine itself does not store any vote information. The ballot is verified by the voter and placed in the ballot box.
Now for the way the vote counting works, it works by machine tallying with human oversight. There is a projection screen showing a running tally of the votes. There is also a projector. Each ballot is place on the projector one at a time to allow the audience to see the votes on it. Then the ballot's bar code is scanned, and the vote tallies on the screen update. The audience can thus easily verify that the changes to the running tally match the human readable votes on the ballot. (In a many issue ballot, not everybody would be able to track every issue, but as long as at least a few people track each issue, things should be fine). People would be watching to be sure that the tallies change only by one with each vote, never change except when a vote is scanned, and no vote is ever scanned more than once. Lack of a vote on an issue can also be tallied to ensure the sum of the votes and lack of votes tallied is equal to the total number of ballots. The precinct's final certified counts for all the issues would be presented to the audience so they can verify that it does indeed match the final tallies. Then it can be sealed, and sent on. This system would make the entire process up to the precinct level completely transparent.
Obviously this does not eliminate problems occurring at higher levels, but it does seem to work very well for the rest of it. Also note that there is noting about this system that truly requires electronic devices. The ballots could be filled out by hand, and the ballot tally process could be done using a bunch of regular old mechanical counting devices, (the odometer like ones that increase each time the button is pushed). However, here the electronics would be not be black boxes at all. They would simply be helping to speed up the process some. In fact that is quite desirable at the vote counting portion, as the speed is fast enough so that the audience does not fall asleep, but show enough that the audience an still verify that the tallying is still correct.
Oh yes, I almost forgot to mention that the policy would be that should the human readable portion of the ballot, and barcode disagree, the human readable portion would prevail, as that is what the voter could actually verify before placing the ballots in the box.
If anybody can think of any problems the system I have described still has, I would like to hear about them.
Come on. Teacher Unions have no power at all. The only reason bad teacher cannot be fired in most of the country is that firing them would be firing at least 75% of the nation's teachers when teaching is a job that is so highly undesirable that there are not enough teachers as it is already. Education is so underfunded it is not even funny. Sure you may not have noticed this if you attended a private school, but decent private schools today cost many, many times more than they used to, for a quality of education that has not noticeably increased over time, and may in fact have decreased. Then you have standardized tests that actually hurt the educational system. Many of those tests were genuinely intended to determine how well a school is doing, but many schools teaching a proper curriculum did not do very well on those tests, for a whole variety of reasons. The result? Teachers feel the need to teach for the test. In some classes, basic concepts that are very important to understand are skipped entirely, simply because there is no chance of them appearing on the tests.
It made some sort of sense as "insert" could be construed as "insert the junk i just wiped out". And it was actually useful.
Caps-lock - just remap it to a control key. It's easy to do in Linux and Windows. It's a very fixable misfeature. But then sometimes I have to use someone else's computer...
Num-lock - I agree. In 1983 they had a cheap keyboard without a numerical keypad, why are we suffering this atrocity 25 years later? I don't use the numberpad because you never know what stupid mode it's in. Is there a way to force number-mode all the time? In Linux (both console and X) and windows too? It's nice to be able to trust your keys.
Scroll-lock, SysRq/Printscreen, Break/Pause - why do these buttons exist and why does nearly nothing use them? SysRq is at least useful in Linux with the magic SysRq key logic.
Well I'll be completely honest, the only real use of the scroll lock key I've seen is in the Linux console. All other uses I've seen for it are just using it because it normally does pretty much nothing.
Print Screen is moderately useful as a screen capture key (which is what it does by default under Windows). (Keep in mind that SysRq is theoretically a separate key. On the standard keyboard SysRq is scancode 84. It can only be sent by hitting the print Screen key while holding the Print Screen key. Oddly enough the Print Screen key normally sends 2 extended scancodes, but only the second one is sent if a shift or control key is sent.) The only use I have ever seen of the SysRq key is the Linux magic handling.The pause/break key was once a fairly reliable pause key in old DOS games. Obviously not all supported it, but enough did that either it or ctrl-p would be your first attempt. Now in terms of scancodes all hell breaks loose with that key. It also seems (based on some very limited testing) that most applications that allegedly respond the the break key, are actually looking for the pause key. Apparently a few laptop keyboards have separated the two functions of the key. Everything I've tested that claims to use the break key only works with the pause key on those keyboards.
So I do occasionally use the Print Screen key and pause/break although admittedly not very often. I do use it more often than the funny cursor key (basically never), and even more often than I intentionally use the capslock key (very rare).
Hey Bruce, you know you could have just linked to your article which explains all that. :D http://www.linux-watch.com/news/NS9312220011.html
I'm curious how you know about this "NIB" system, and a bit more importantly, why a Google search for more information does not seem to yield more information. Microsoft has actually always been fairly open about the underlying architecture of their operating systems. MSDN if full of such information, even the the point that it probably leaks things Microsoft had intended to be trade secrets. So it kind of surprises me that it is hard to get any additional information about this system. Any pointers to documentation about this system would be appreciated. Thanks.
I thought it was a bad move when my old university moved the intro courses from Pascal to Java. I much preferred the model where you do Java LAST. But after two courses in Java you always moved to C so you'd be able to understand the OS, graphics and networking courses. Plus assembly and assembly-with-wires of course. Well, actually, I would recommend C then Java then C++. C first because it gives you the basic concepts used by all three languages, as well as general fundamentals of concepts like pointers. Java would be next as a way to teach the fundamentals of OO programming without having to worry about some lower level concepts nearly as much. Finally, with foundation in both the general concepts like pointers, as well as OO techniques, C++ is far easier to teach. In fact, teaching it is mostly teaching about the additional facilities, and how objects are managed in the language (objects default to pass by value (using copy constructor) rather than pass by reference as seen in Java and C#, etc.)
Indeed, in the unlikely event Apple does feel the need to close the iTunes Store due to lack of sufficient sales, I fully expect to see the iTunes software sprout some brand new features for integration with other music stores. Why? Because the nice integration is a selling point for the iPods, and Apple would hate to lose that.
I've always been confused with recommending VLC as a general purpose media player. It works, but it is missing a few nice features found in most normal media players. I recommend it for playing files that may be partially corrupted, or that your regular media player will not handle, (in addition to using it watch streaming media, or in some cases transcoding) but it just does not seem to be very suitable as a general media player.
Although now that I think back, I remember that my largest issue with it was just that it tended to crash if I jumped around in the file, which probably just a bug in the version I had. OK. Well know I've updated it and researched it and my current gripes are:
Warning: There is claims that that preference has been removed post-beta2. See the post by Littlemutt at http://forums.mozillazine.org/viewtopic.php?t=613781
You also forget that our eyes are more sensitive to green light. It's easier to blind people with green light than with red light.
Also keep in mind that the effects of a 200mW green laser by the time it has dispersed to a point 3ft diameter is absolutely minimal assuming a normal original diameter. A red laser at 10 ft would do much more damage. I suspect if the beam had dispersed to a 3 foot diameter, the eye would have mostly recovered by the time it had finished blinking.
There are still three codebases. However because two of them are both so closely related it is inevitable that they would resuse each other. For example, I'm quite sure that the server codebase merges in many of the changes in the NT codebase. Perodically then it is adventageous for the NT codebase to merge any desktop relevent changes from the server line. However, Vista still has does not have all of the code from Server. A fair amount of the server optimization code for example, would be less than useless on a Desktop. It could actually hurt desktop performance. (Which as we are quite aware is already fairly weak in Vista.)
Just to veryify, do you mean the original TV series (which is what you have actually specified) or the new series "Bionic woman"? For what its worth, the latter is definitely pirated by some people. The former, not so much. (But I have seen a few eps of the original series in the system.)
Alternately, you can think of "Home" as the successor to Windows ME, with an NT kernel. I'll try to do this schematically (WKS = Workstation, SVR = Server, and some other weird abbreviations used to make the alignment work): In reality, things are a lot more complicated, because there are other editions, Win 2K Advanced Server, x64 editions, and God knows how many variants of Vista. (Maybe "Vista Business" is a better fit than "Ultimate" above too.) In addition, a lot of people who were or would have been in the 95/98 line moved to the "Pro" line for XP. But, for most people, things probably progressed as indicated.
While that is more or less true, consider that tere are really only three main OS Codebases in Microsoft now. Windows NT (non server, the current offering is various form of Vista, as well as XP until they discontinue it). Windows server (a very close relative to the NT series, but optimized for server environments, and multi-processor usage.) Those two code bases are close enough that they share binaries (when on the same architecure) and they could even be used for the opposite purposes with only minor difficulty.
However Windows CE codebase is a bit different. It is still distinctly Windows, but Executable compatibility with the NT series is rare. (That is due in large part to the fact that most CE devices seem to be platforms other than x86.) Interestingly it is possible to create .NET apps that run under CE and modern NT. Since the desktop Framework is largely a superset of the compact framework, the desktop assemblies get used, so code using only .net compact framework and no CE specific assemblies will run just fine on a desktop system.
Now you may notice that there are also some special sub-codebases. For example there is the NT Embedded codebase (seen as Windows XP Embeded), and the NT PE versions
Normally nothing else. But here is the main thing. Any student can request a developer's key. Once they have a developer's key they have full control over the computer and could disable the security system entirely. Now, how does one prevent a thief from requesting the key? Well to quote the spec: "The key-issuing process incorporates a 14-day delay to allow for a slow theft report to percolate up through the system, and is only issued if the machine is not reported stolen at the end of that period of time." To see the whole OLPC security specification see http://wiki.laptop.org/go/OLPC_Bitfrost especially the "P_THEFT: anti-theft protection" section.
Don't forget about header include guarding - as mentioned by this comment, for example. One of the reasons I really hate using Microsoft's headers - they don't do include guards so the order of the includes matters; they use the #pragma once guard, which is not really a guard as you then have to get the order right, and God help you if you have to include your header before another header that ends up creating a circular loop due to the #pragma once guards. Well...except that when working with Strict C and a compiler such as Microsoft's VS 2005 C compiler, you have to typedef the struct. Annoying but required or else you get all kinds of errors. Been there. Done that. And technically for Strict C, you should be. In C++, however, you are right, but why break the backwards compatibility?
Also, don't forget lack of comments in general either.
Strict C? do you perhaps mean ISO C? Offically the following code is not valid: "struct foot_t{...}; /* other stuff */ foo_t myfoo;" but that is because the valid code is "struct foo_t{...}; /* other stuff */ struct foo_t myfoo;". However, because many people do not like the requirement to include the struct keyword all the time, they simply typedef the struct, often times never give the struct a name, resulting in an anonymous struct.
The best solution though is to go "struct foo_t {...} foo_t;". That allows "foo_t myfoo" to work, but "struct foo_t myfoo" still works fine too. Further should still be possible to forward declare this struct. Please note that this solution is valid C and C++. One word of warning though: do not do a "typedef struct foo_t foo_t;" after the forward declaration. That would work, except that the real declaration of the struct includes the same typedef, and while C++ allows duplicate typedefs, C does not.
Of course this always sounded strange to me because then you have to always remember what includes are required for that particular header. I think it had something to do with avoiding multiple header declarations, but I though that's what the #ifndef XXX_H #define XXX_H technique was for.
So what I'm asking is: why have I always heard that #including in your headers is a big no-no?
Well there is also the concern that the header files should avoid pulling in other headers when possible, because that pollutes the user's name-space. Instead, it is theoretically cleaner to use forward declarations of structs, and using a function prototype if you only need one function from a large header.
That said, it is still very common to include header files in other headers. There are various reasons for this.
In the end though, it is basically a stylistic choice.
But most likely the article is some activist trying to stir up FUD, or just the usual sloppy, lazy journalism. Actually Osama's satellite phone number is not secret at all. But he has not used it in a long time, some sources indicate it was last used in 1998. The number is 00 873 682 505 331. He may have a regular cell phone that he uses now (assuming he is still alive) but if so, I'm not sure even the DoD knows it.
Well, it was only in 2003 that the title to the island of Kaho'olawe was transfered to the State of Hawai'i. Prior to that point the Island was a federal possession, and therefore, any broadcasts that would be receivable on the island must have crossed state lines. The the moment, such an argument could not hold water. However, there are plains to return create the equivlant of an Indian reservation for Native Hawai'ians. Like the Indian Nations they would be a Sovereign nation (at least in so far as the United States is concerned). So then radio broadcasts in Hawai'i would again be international communication.
And speaking of which, what does the FCC have to do with interstate commerce? Perhaps they could regulate broad casting between states, but if I have a device that doesn't broadcast over state lines where is the basis in the original framework for such an organization to dictate who or what does something with the device you built.
Now I suppose the FCC could regulate devices that are shipped from overseas or interstate wise but if you build it yourself then why should they have a say? The real reason is that if the FCC did not regulate radio signals inside a state, then the state would need to. The states simply are not interested in that. If they were they would have challenged the FCC already. After all, the resources the FCC needs to regulate interstate transmission of radio signals make it the ideal candidate for regulating radio signals inside the state. Further, remember that there is no reason a state could not delegate some of their rights to a Federal Agency. Is is really that important that the States have made this delegation implicitly rather than explicitly?