Who is JPG? It's the Holy Trinity: Jesus, Photos, and God. Come to us, learn more!
Our motto: Pics or it didn't happen!
Who is JPG? It's the Holy Trinity: Jesus, Photos, and God. Come to us, learn more!
Our motto: Pics or it didn't happen!
A university degree wasn't supposed to be for only getting a better job. Education is its own reward. Education helps people understand themselves and the world, which helps avoid tragically wrong thinking and unwarranted harshness. It makes life better, it allows us to see more options. Speaking of the old days, what were WWI and WWII but completely unnecessary, senseless, and brutal events that could have been avoided if only the world leaders and peoples of those times weren't fools? We did not have an overpopulation problem, or mass starvation, or some other compelling reason. No, WWI ignited because of a lack of communication, fantasies of the glory of war and a sort of promise that the most powerful statement men can make concerning their worth is to serve in the military, and greed for the spoils, and fear and contempt of other peoples. Perhaps we did have a problem, mass stupidity, and it took a few wars to kill off the idiots. Now maybe we're drifting back into that problem, not having had any massive events capable of sorting out the idiots, handing out Darwin Awards en masse.
Everyone who is capable of earning a degree should have the opportunity to do so. Maybe, if most of the public had degrees, the world wars would have been impossible to start because the soldiers would have been unwilling to fight, and indeed it would have been tough to recruit soldiers because the people wouldn't hold them in much esteem and desire to become soldiers.
Thanks to my education, I can think intelligently about the problems. Why aren't there enough jobs? Has pay stagnated, and if so, why? Are universities not serving the purposes for which they exist? It's a complicated set of closely linked issues with a lot of different reasons, and possible answers. Despite the stagnation of pay, we in the West still live very well. Therefore places like India can easily undercut our workers. And yet, we also see that the superrich are hoarding the wealth, and gaming our system to do it. There is enough wealth for us all to live even better. So, why aren't we stopping the supperrich? We're not yet starving, that's why. Another factor is the advance of technology. We really need to rethink how education should be acquired. The high costs of textbooks is an excellent example of the corruption currently present in schools at all grade levels, from 1st grade to grad school. There is zero reason to subject students to the textbook racket, when our technology has empowered us to go entirely free, open and digital. Free and open publishing for textbooks is such an obviously superior model that there should be no question of whether to do it. Something else that technology makes more possible is telecommuting. We're not making full use of that either, and why? The MOOC is a challenge to organized education of the sort universities practice. Then there's the issue of automation. Will all menial work eventually be automated, leaving us with no manual labor to do so that education is even more important? It's a disruptive, exciting time to be alive.
That's an excellent example of security creep. User names were never intended to be secret, in fact, they were public so the users could message each other. Today with spam being a big problem, that seems quaint and naive. Nevertheless, the basic model is still correct, it is the password and only the password that must stay secret.
Why the login screen in its current form has become such a fixture is a bit if a puzzle. Why ask for user id first, why not ask for the password first? Why even ask for the user name at all? So that two or more users can use the same password?? I investigated, and traced the login screen back to Compatible Time-Sharing System, the ancestor of UNIX, first operational in 1961. Amazing how something like that can become an unchangeable tradition.
A big reason I don't use OpenSUSE is its seemingly trivial limitation that usernames have to be at least 2 characters. I like to use "u" as the main user, "g" for guest, and "p" for porn. Why did SUSE ban single character usernames? I see no good reason for that limitation. It sure doesn't enhance security! If the SUSE developers are going to dictate a trivial matter like that, what else do they force on users?
It becomes rather less trivial and more annoying if you have installed some other distro, and set up with single character user names, and now you want to switch to SUSE. You can't just keep
It's not just textbooks. Our capitalist society is so thoroughly steeped in profiteering that there is very little you can trust. Doctors over-prescribe procedures and medicine, and when there is a choice, pick the one that profits them the most, never mind what it costs the patient. And health insurance, woof! What a byzantine mess of forms and copays and secret agreements! Try never to use the emergency, always visit a regular doctor if possible. Auto mechanics are notorious for pushing unnecessary repairs, just in case, you know? Employers cheat employees of pay, the whole H1B program is just one example of the things they do. Advertising is designed to convince people that they have a problem and the best solution is their product or service, never mind the best interests of everyone. Marketing is totally amoral that way and marketeers won't hesitate to run propaganda campaigns they think will work. The stock market is full of scams of course, but it is kept honest enough that most individuals can do okay, a big problem for some time now has been the institutional funds composed of our tax dollars or pension payments that the big players rob shamelessly, and corporate officers transferring scandalous amounts of money from the company and stockholders to themselves through exercising options and other trickery, and calling it fair compensation. And the media! Mainstream media doesn't do enough honest reporting. They spin stories to make them more dramatic. Other stories, full of drama and wrongdoing, they inexplicably ignore.
I don't know what the solution is. I would say that the markets must be policed, same as sports games must have refereeing, but the problem with that is that the market police are too easily corrupted. Ultimately, it's up to us all to keep them honest.
For years, I thought iostream was a terrible mistake because of poor performance relative to the older stdio library. Didn't matter whether it was a better model, the lack of performance made that moot. Then recently I heard that iostream is only slower when support for stdio is enabled, which it is by default. I had no idea there was such a toggle, never thought to look for anything of the sort. The worst part is the legacy support is enabled even if all the source code is C++ and stdio is never used.
Maybe C++ is badly taught. But language designers and implementers ought to take the blame for not informing the community how best to use iostream. We know not to mix new and delete with malloc and free. Why weren't we able to discover that iostream does not have a performance problem after all? Legacy support for stdio should have been off by default, so that the iostream library would run at maximum performance, and the compiler should have been programmed to issue an error if stdio was used along with a helpful message about the correct flags, compiler options, directives or whatever was needed to use stdio if the coder really wanted to.
I agree that C/C++ is a terrible choice for a beginning programmer. Pointers are especially tough for newbies to learn. But BASIC? No. When I first learned how to program, I thought the program would exit a loop the moment that the exit condition was satisfied. It was not obvious to me that the exit condition was checked only at the end of the loop. Now I understand it's done that way not because that's inherently better or more intuitive, no, it's done that way because it's easier and faster for the computer. And that's a big problem with most languages. The capabilities of computers still play too big a role in programming language design decisions. That's one reason why I think we don't have any programming languages that have achieved the goal of making programming as simple and accessible as possible while at the same time being fully capable.
Why even use OpenGL directly? It's been called the assembly language of graphics. It has no brains when it comes to sorting polygons by visibility, it just dumbly draws everything in the list your program builds for it, whether visible or not. It's up to your source code to employ a little algorithmic cleverness to prune the list. But even if you do, you soon find that unless the pruning is very good, performance is still unsatisfying. To make the pruning excellent requires implementation of some fairly complicated algorithms.
I'd much rather use a library such as OpenSceneGraph or OGRE.
Many dogs, if given unlimited food, will eat themselves to death. Yes, really. These dogs have no restraint and will consume food until their stomachs cannot physically hold any more. The stomach may rupture, and if not treated quickly, that is fatal.
I think of most of the super rich as suffering from the same sort of problem, only with money instead of food. They will earn, steal, and horde wealth beyond all sense. Even if it causes great harm to many others, damages society, they can't stop themselves. An example is wage theft. We have many people working in the restaurant business, for extremely low pay. But it seems the low pay isn't low enough to suit some owners, who bully their workers into working a few extra hours off the clock, delay paychecks, miscalculate the pay in their favor, and other tricks. It might be somewhat understandable if the franchises were struggling, but often they are doing very well indeed, don't really need more money. Nor is the owner hurting for money. Why then do they do it? They don't have good reason. Reasons of the "trickle down" variety are wrong. It simply is not possible for one person to use vast wealth efficiently. They can blow thousands on luxury conveniences that save a few minutes here and there, but it is not good value.
Meanwhile, the cheated workers must spend even more time struggling to get by on extremely limited means. The old expression "time is money" is so true for the poor. A lot of expense can be eliminated by burning more time. Dishwasher broken? Wash dishes by hand! Water cut off? Lug your laundry to a laundromat, use paper plates and plastic spoons, and as for showers, well, can rent a cheap motel room or visit the Y, but not every day. Instead, keep the deodorants and perfumes handy, and wear a cap to hide your hair. Toilets can be flushed with buckets of rainwater. Car repossessed? Take public transport, or bike or walk. The poor are forced to work around all kinds of things that the middle class take for granted, and ingenious and actually better and healthier though some of the workarounds are, it all takes time. What might they be able to accomplish if they didn't have to spend so much time scrapping and scrounging for every penny?
We should keep constant watch on the rich, and rein them in. Instead, we practically worship them. That's not good for anyone. People think the rich are really special, leaders and doers who've been rewarded with great wealth for their hard work, think it's all merited. Think they're John Galt. Some are, no doubt. However, when such status is given to someone who doesn't merit it, the result is almost always bad. That's where we as a society have fallen down. We let these undeserving rich get away with murder. In all the fraud and cheating that resulted in the Great Recession, only Madoff ended up in prison. This Angelo Mozilo should have gone to jail, instead he was only banned from ever running a company again, and allowed to keep much of the wealth he had stolen, and live on in freedom. Sure, he was fined a record amount, a fact they like to play up to try to show how tough they are on rich criminals, but it didn't reduce him to poverty, far from it. Since then, a few more perps have been put away, but it took years to do it. Meanwhile, little people are routinely dragged through the mud over petty debts. Some consequences would be okay if the big people faced the same consequences, but they don't.
This treaty is an outright declaration of class warfare, with lots of surveillance goodies thrown in to get the enforcement part of government on board.
The thing to do now in the US is simply vote it down. If it is fast tracked so that Congress can only vote yes or no, then "no" it is. Just in case there's a chance of passage, we should make a lot of noise, make sure our representatives know our will and that it won't be safe to ignore us.
It's even more important for a test to be honest.
Testing has been frequently gamed. Incredibly, the tested parties are often allowed to design the tests. And as one might expect, such industry designed tests are usually too easy, sometimes laughably so. For example, the plumbing industry got away with claiming "lead free" on faucets that were manufactured with brass that was 5% lead, on the untested notion that as long as the lead does not leach out, that's as good as lead free. That idea is wrong, and their tests were ridiculously inadequate. Another dishonest rigging of testing is in the oil pipeline business. They use these devices that they call "pigs" to inspect the inside of a pipeline. As long as the pig hasn't been tampered with, it's pretty good at spotting weaknesses. But some in the business modified the pig, greatly reduced its sensitivity and increased its threshold for sounding the alert. Saved lots of money on pipeline repairs-- until the pipe broke.
This. Also make sure the e-paper trail can't be easily erased. It may not be enough to send one email to one person, send a few CCs to fellow team members, maybe a BCC to your own private outside email account, though that last can also get you in trouble for divulging company secrets. So, maybe sneakernet the emails out. If they'd demand that you break the law, they'd also lean on the system administrators to "clean" the company's servers, and never mind Sarbanes-Oxley. You'd hope system administrators can resist that kind of pressure, and most of the time they can, but be ready just in case they can't or are sidelined.
And don't worry about being fired, don't let that possibility scare you out of covering your butt. It's better to be fired than sued. If it comes to that, call them on their threats to fire you. If they weren't bluffing, fine, let them fire you and try to find someone else they can intimidate.
I wonder if you're talking about the same problem. You're talking about management techniques. The article is about the inherent human problems of giving great power and authority to a few, and solving this issue by not doing so, not having any powerful bosses. I totally agree with your thoughts on "shut up and do as I say" management.
Perhaps power always corrupts, and it doesn't matter who is tapped to be boss, sooner or later, they're going to turn abusive, greedy, treacherous. But we could surely do a better job of picking people for such positions. A mistake I've seen organizations make, over and over, is mistaking a loudmouth for a proactive, energetic, go-getter. And even if they were right and the candidate for a management position actually is not a loudmouth, another mistake is thinking those characteristics-- energy and all that-- are the most important and best sign that a person would make a good manager. So they promote this person into positions of authority over others. They undervalue competence, evidently thinking that noise is more important.
And, sure, being seen and heard is important. But being wrong can be deadly. I'm not taking about technical mistakes, everyone makes those. I'm talking about the mistake of putting an incompetent loudmouth in charge. I've seen the loudmouth caught, and it's not pretty however well deserved. The loudmouth has drowned out everyone else, trampling upon the customs of polite discourse and professional behavior with peers, and with smooth talking persuaded upper management to put them in charge, and then has no idea what to do next. Won't ask for or accept any advice or help, because they see that as weak, and in any case they didn't get there by listening, they got there by talking over others. They are totally into the "shut up and follow orders" style of management. And their orders are "make it happen", and don't bother them with the boring details. But don't embarrass them and accomplish too much, as that might show them up, and they can't have that. They tend to take a pushy, bullying approach to the situation, trying to hang all the responsibility for mistakes or the lack of progress on others, as if the only purpose for the existence of underlings is to take the blame and the fall. Meantime, if anything good is accomplished, they of course try to hog all the credit for it, despite having actively tried to personally sabotage the accomplishment when it looked like someone else, some underling, would reap the credit. Hilarious to see a loudmouth trying to take credit for something that was thought good, until learning that it is actually regarded as a waste of time, then instantly doing a 180 and blaming it all on underlings. When they have to get up in front of an audience and present something real is when it all crashes and burns. Cold comfort when the bullying idiot who should never have been given such responsibility gets ripped apart, as the entire project gets canceled and everyone loses their jobs.
A terminating null byte is a horrible way to denote the end of a string, as C/C++ designers eventually realized. The cost and space to maintain a separate value for the length of a string is O(1) no matter what operation is done. Not only does it take O(n) to find the terminating null, there's the additional complication of how to embed a null in the middle of a string, without terminating it. Use an escape sequence? Just don't allow the terminating character in the string? No modern string manipulation library uses termination characters. So, yeah, checking for equal lengths takes O(1), unless you're using the old string.h C library.
Price was what first drove me away. Price does affect purchasing decisions. does damp down the desire for mildly addictive substances. Works for cigarettes and alcohol.
Improved health is a nice bonus, and now, having learned how unhealthy refined sugar and high fructose corn syrup is, I wouldn't take soda even if it was free. Ironically, many of these drinks were originally promoted for their health effects. Coke was created for pain relief. Carbonation itself was thought to have good effects on health.
Yes, a nice reminder of string processing problems. The problem they worked on isn't exactly string matching. They are trying to find the minimum "edit distance" between 2 strings. There are a lot of very similar seeming problems in this area.
If all one is trying to do is test whether 2 strings match exactly, first check whether the lengths are equal. If they are, then it might be better to compare characters at the end first, under the idea that similar strings are more likely to match at the beginning. It's not an algorithmic savings, still have to compare each character until a mismatch is found or all characters have been checked. All that idea does is try what might be a more likely location for a mismatch sooner, but that depends entirely upon the data.
Trying to find where a shorter string might occur in a longer is a different problem. As you noted, Boyer-Moore is good. Then, the problem of finding matches for n short strings for n>1 within a long string is solvable in yet other ways, faster than simply applying Boyer-Moore n times.
"Consider a spherical bear, in simple harmonic motion..." -- Professor in the UCB physics department