The future is now!
Permanent magnet that is turned on/off by a knob, transparent concrete, bendable magnets, temperature-changing colored glass? All sounds like science fiction to me. But it’s NOT. Actually BUY these items today:
Permanent magnet that is turned on/off by a knob, transparent concrete, bendable magnets, temperature-changing colored glass? All sounds like science fiction to me. But it’s NOT. Actually BUY these items today:
Interesting article from the Intel guys doing TBB.
Arch Robinson just removed almost ALL the volatile keywords from Intel Thread Building Blocks. Why? For several reasons, but mostly because he claims that overall it slows your code, probably does not actually solve the underlying ordering problems if your code needs to be portable (a REAL concern on today’s writing of games/apps for x86, Xbox, PS3, and iPhone devices!), and likely isn’t doing what you think it’s doing anyway. Here’s a pertinent example:
Sometimes programmers think of volatile as turning off optimization of volatile accesses. That’s largely true in practice. But that’s only the volatile accesses, not the non-volatile ones. Consider this fragment:
volatile int Ready; int Message[100]; void foo( int i ) { Message[i/10] = 42; Ready = 1; }It’s trying to do something very reasonable in multi-threaded programming: write a message and then send it to another thread. The other thread will wait until Ready becomes non-zero and then read Message. Try compiling this with “gcc -O2 -S” using gcc 4.0, or icc. Both will do the store to Ready first, so it can be overlapped with the computation of i/10. The reordering is not a compiler bug. It’s an aggressive optimizer doing its job.
You might think the solution is to mark all your memory references volatile. That’s just plain silly. As the earlier quotes say, it will just slow down your code. Worst yet, it might not fix the problem. Even if the compiler does not reorder the references, the hardware might. x86 hardware will not reorder it. Neither will an Itanium(TM) processor, because Itanium compilers insert memory fences for volatile stores. That’s a clever Itanium extension. But chips like Power(TM) will reorder. What you really need for ordering are memory fences, also called memory barriers.
So what’s the solution for multi-threaded programming? Use a library or language extension hat implements the atomic and fence semantics. When used as intended, the operations in the library will insert the right fences. Some examples:
* POSIX threads
* Windows(TM) threads
* OpenMP
* TBB
So, when is volatile actually necessary? It turns out there are only 3 portable cases volatile is actually needed:
And now you know, and knowing is half the battle.
An international group recently hacked the PS3 so that Linux could be run on the platform and recently presented how it was achieved at a security conference. Some may recall that the PS3 originally had this option (called “OtherOS” boot), but then the feature was removed after Sony claimed it allowed cracking of their games/piracy concerns. A bios patch was forced from Sony and no machine without the updated BIOS is allowed to use their services.
At this point, the group ‘failOverflow’ then picked up the mantel for angry PS3 users that had bought the console with the goal of running Linux on it and then felt they’d gotten cheated by Sony who was viewed as having reneged on their promise. After about 12 months of work, a hack was achieved.
I gleaned two interesting things from the presentation. Firstly, successful hacks of such modern devices usually comes from teams, not individuals. While working together is obviously a logical progression if several people are trying to hack the same, much more complex device; it does seem to be a big change from the days when a single guy in his garage would ‘prove’ himself by hacking something by themselves. Secondly, these guys are very smart. They clearly have very high levels of understanding of hardware, memory architectures, operating system concepts (loaders, ring levels, decryption, trust-chains, etc), and software stacks. I’m almost certain they all have a Computer Science or similar background. The days of a single guy picking up a book, a debugger, and hacking the security in these consoles in their spare time seems to have come quickly to a close. I think this trend started with the hacking of the original Xbox by a team of Computer Science grad students (which took advantage of an awesomely obscure memory wrap-around bug introduced when they switched from AMD to Intel at the last minute), and this trend doesn’t appear to be going back. It appears that if you want to contribute to hacking a platform; you best get your BS/MS in CompSci or CompEng.
So, without further ado, here’s the video clip of failOverflow talking about their efforts (along with an interesting bit at the beginning on how long it took to hack other platforms)
Did you take advantage of the super Steam holiday sales? I did, and got the complete Battlefield 2 pack for $4.99. However, if you installed it and got it all working – you might keep getting kicked out of network games because PunkBuster reports that you have an ‘Invalid driver version/game’. This is because of the Steam Community overlays.
Yes, annoying. Can’t believe old games like this haven’t been re-modified by steam to not need the now-ancient PunkBuster system. The fact they’ve had to update PunkBuster to be separate Windows Services now in order to work shows you it’s time to see that stuff go.
Tis the season for giving. I’m a fan of charities, and regularly set aside 10% of my income for charitable giving. But how do you check to see if that guy standing on the street corner is a *real* charity; or if that charity actually will get the money to those in need? After Bono’s ONE charity scandal this year, we are learning how to be more careful with our giving:
According to New York Post investigation of tax records – of the just under $15 million that U2 singer Bono’s ONE charity collected in 2008 – only $184,732 was distributed to actual aid organizations. $8 million went to executive pay and most of the rest went to ad agencies for promotions.
Turns out that the Oregon Department of Justice allows you to look up the records of your favorite charity to see if they actually *are* a charity, and also to see exactly how much of that money they’re gathering is actually going to the cause; and how much of it’s going into their own pockets. To be considered a charity, a charity cannot have over 35% of their money going to ‘administration’. While 35% is still a huge amount of potential abuse IMHO, it’s the law at the moment and I can understand it for some particular causes. My own take is that the charities I give to are in the 10% or less in overhead category (90%+ going to actual programs).
While not an exhaustive list of dubious charities, the official Top 20 worst charities in Oregon for 2010 are mind-numbingly bad with about half of them under 20% going to actual programs/aid.
Here’s the list with the percentages of how much goes to their actual activities. In order for them to be considered in accord with a non-profit, these numbers need to be 65% or HIGHER. I encourage you to check out your charity, and give to those that will do the most good with the money you give.
Shiloh International Ministries 3.63%
Purpose: To provide medical necessities and moral support to needy children and to
provide assistance to the homeless
Law Enforcement Education Program 6.26%
Purpose: To educate teenagers on the effects of alcohol
Korean War Veterans National Museum and Library 7.03%
Purpose: To preserve a record of participation in the Korean War, educate the public, and to promote friendship among vets
Foundation for American Veterans, Inc. 10.22%
Purpose: Promoting social and recreational welfare for current and past U.S. Armed Forces members, dependents, widows, widowers and others
Dogs Against Drugs/Dogs Against Crime 10.30%
Purpose: Drug Education and Crime Prevention
National Vietnam Veterans Foundation 10.92%
Purpose: Support of Veterans Organizations
Firefighters Charitable Foundation 11.09%
Purpose: To provide financial assistance to individuals affected by a fire or disaster
Committee for Missing Children 11.51%
Purpose: Distribution of photos of missing children, education and case management, and the development of an international database
The Wishing Well Foundation 11.57%
Purpose: Fulfilling the fondest wish of any terminally ill child not expected to reach 18 years of age
Law Enforcement Legal Defense Fund 13.16%
Purpose: To provide legal assistance to law enforcement officers
Disabled Police Officers of America 14.24%
Purpose: Educational Programs for Police Officers
Disabled Police Officers Counseling Center, Inc. 14.84%
Purpose: Assist disabled police officers
Foundation for Children with Cancer (formerly Reach Our Children) 15.23%
Purpose: To provide financial assistance to families with children with pediatric cancer
American Medical Research Organization 16.19%
Purpose: To support medical research in the cause, cure, and treatment of macular degeneration
National Veterans Service Fund, Inc. 20.44%
Purpose: Inform and educate in conjunction with service-related illnesses and work to raise public awareness of the contributions veterans make to our society
Children’s Leukemia Research Association, Inc. 20.49%
Purpose: To support research efforts into the causes and cure of leukemia and to provide assistance with expenses incurred in leukemia treatment
Dakota Indian Foundation 21.55%
Purpose: Assist in education of Indian people and preservation of Native American culture
Cancer Support Services 22.27%
Purpose: To support the charitable mission of Cancer Fund of America and to provide financial support to indigent cancer patients
Project Cure, Inc. 24.28%
Purpose: Increasing public and professional awareness about the prevention, detection, and treatment of various chronic diseases
Operation Lookout National Center for Missing Youth 24.53%
Purpose: To provide free services 24 hours a day 7 days a week regarding missing youth
If you have any of the Adobe suite and continually get the registration box when starting the app (even if you’ve filled it out 10 times before or told it not to register) you’re in good company. You just need to start the app in Administrator mode, make you registration/hit the don’t register button, and THEN the registry can be properly updated.
Thanks again UAC for messing up my life in weird, cryptic ways that not one grandmother would ever be able to figure out. But I’ve ranted about this before…
Despite all the predictions it was going to be a slam-dunk, California didn’t get the legalization of marijuana passed on their last ballot – and by a good margin. Someone asked for the reason I wouldn’t vote for it if a similar bill if it came up here in Oregon and I decided to respond. Personally, I could care less about the legalization/non-legalization of weed for the most part. I find dedicating yourself to it’s cause seems kinda juvenile to me – but hey – to each their own. But on to the arguments I hear most often:
Argument #1. “Everyone is smoking it – marijuana should just be legalized already”
Well, I don’t smoke marijuana. I thought it was a stupid way to blow $60+. I got a lot more fun out of other things for the same price such as going to a concert or a great dinner out with friends. And just because everyone is smoking marijuana doesn’t mean that the practice should be legalized. Making that argument is like telling your mom that everyone else is jumping off a bridge so you’ll be joining them. This argument feels more like a peer-pressure play than making a fact based, logical decision based on empirical data.
Argument #2. “Marijuana has all kinds of medicinal uses”
To this argument, I would say you should petition to get it legally approved and regulated by the FDA as a helpful drug. I’d probably support that position. By claiming that it is a powerfully helpful drug AND safe for lifelong recreational use doesn’t seem to hold in common experience. No other substance has the precedent of being a powerful medicinal agent AND being totally safe for daily recreational use. You could make the same arguments about alcohol; but it is also frequently cited by the legalization crowd as worse than marijuana (see next item). I find the argument that smoking marijuana is safe for lifelong recreational use and at the same time be a powerfully helpful drug to be hard to swallow without more evidence. I’d like the FDA to decide which category it should fall in.
Argument #3: “Alcohol is worse, and it’s legal!”
This bill for the legalization of marijuana doesn’t have anything to do with the legal/moral/ethical standing of alcohol (which has it’s own problems). Legalization of marijuana would not change anything about alcohol use, so the argument is kind of invalid. Go pass a law to outlaw alcohol if you feel that strongly. There’s nothing in this argument that shows how marijuana smoking is a benefit to our society other than kind of pointing at the neighbors (alcohol) and saying “Well, THEY’RE doing it”.
Now that I’m in my late 30’s I’ve personally seen too many of my own friend’s lives apparently affected negatively by long-term smoking. I had the experience at the place of my work that several coworkers ask what was wrong with the two guys who are regular smokers during/after meetings because they are pretty slow on the uptake and becoming more so each year. This slowness is becoming an issue for their employment. These effects might just be a correlation but behavioral and addiction medicine psychologist do see higher correlations of marital and personal problems from regular users. Just check out any of Dr. Drew’s comments about this from Loveline on the matter.
Rarely is it a good idea to escape into a substance to deal with stress or issues in your life. It often leads to you not actually learning how to deal with them in a constructive, adult way. The result is that years down the road you may find yourself less developed/mature than others in your age group.
Argument #4: “Isn’t it a terrible/social justice problem that so many (African-American) people are in jail because of casual use? It should not be a crime to casually smoke.”
Yes, the problem of jails full of people who have not committed any crime other than smoking joints is problematic; but it doesn’t logically follow that we should legalize something. What about speeding? Lots of people get those tickets – but we don’t legalize that. I’d support minimally criminalizing it like making it a misdemeanor with a hefty fine/ticket – but the argument of legalization is still falling short. Tickets/fines would raise money – which brings us to:
Argument #5: “Legalization and taxation will raise much needed money for California”
Almost every major study of the financial effects of proposed legalization/taxation plans show that the amounts raised would be far too small to make any significant difference to the California budget. California’s budget is in the top 10 LARGEST budget in the WORLD. Its budget is bigger than most countries. I think it’s safe to say that California’s budget problems are not caused by the non-legalization of marijuana.
I actually believe that it would end up COSTING more money to legalize (at least initially) because you’ll likely have all kinds of new legal problems. Is marijuana a drug that needs FDA testing/regulation? If it’s a drug, then can it be grown and sold by anyone for recreational use? Do medical plans need to cover it? What are the covered conditions? Are there new government agencies that need to be staffed to regulate growth/distribution/safety? I’ll argue there will be lawsuits from these issues that might take years and tons of money to work out.
Argument #6. “We’d all be better if we could just smoke up baby. Peace and love will surely follow for everyone!”
Reduced capacity does not solve problems. Lighting up a dried weed and inhaling chemicals into your body has not scientifically been proven as a good way to deal with problems. That argument makes as much sense as drinking fermented corn squeezings to deal with marital problems.
I could honestly care less about marijuana legalization but I find almost all the arguments in favor to be logically flawed or do not make a good case for why it SHOULD be legalized. I just don’t see how legalization really adds something valuable, beautiful, and noble to our society.
Recently, Mohamed Osman Mohamud, a Somali-born, 19 year-old student from Oregon State University attempted to detonate what he believed was a vehicle bomb amidst the hundreds of spectators at the annual Portland tree-lighting event. I was only 10 or so blocks away watching from the 30th floor of the Portland City Grill. Turns out he wasn’t working with fellow confederates, but had unwittingly been snagged by undercover FBI agents. He fell on their radar because his own father apparently wrote to the FBI and warned them about his son’s extremist viewpoints. Mohamed tried to contact militants in other countries, but the FBI intercepted instead. Following his lead, the FBI supplied him with a dummy van bomb which had 5 or 6 55 gallon drums of (what he thought) were explosives. The van was parked on the tree-lighting block and he walked (past my building) and activated the dud via cel phone right in the middle of the event. Obviously it didn’t go off and he was immediately arrested. Many have already called up the very likely charge of entrapment; but that will likely have to be decided in the courts.
Unfortunately, the night after the bombing, a mosque that Mohamed sporadically attended was set on fire. Arson is highly likely based on the early evidence. Fortunately only the office area was damaged and police are now running extra patrols around other mosques in the area. The mosque very quickly and publicly denounced Mohamed’s actions, and there has been no evidence any radical element is present there. So far there is no evidence that Mohamed appears to have contacted or worked with anyone from the mosque on his plans.
Unfortunately, this has revealed a general anti-religious attitude here in Portland/Oregon that I’ve run into before from what seem very well educated, self-described as open-minded, and well meaning folks. On OPB’s Think Out Loud radio show, a comment appeared on their live blog they read from while doing the show. The following comment was made, and struck a chord because I have heard it at a number of times at dinner parties/etc:
Religious people of all faiths are the problem. They are the cause of hatred, violence, misinformation, and ignorance throughout the world. The rest of us are dragged along in the wake of their poor behavior, we are associated with them because of the country we live in and the politicians they elect. Muslims aren’t the problem, all religions are the problem.
A number of people responded, but I liked this one best:
I disagree with your argument – not least of which is because it’s a contradiction. You say religions are the problem, but say Muslims are not. Do you realize what makes a person a Muslim is their identification with a religion? Why did you assume it was his religion when his own congregation condemns his actions and he didn’t appear to get support for his plan or ideas from them? Do you support the people that tried to burn down his Mosque because religions are to blame even though there is no proof to their involvement?
Secondly, you indicate that religions are the the cause of these problem. It’s far too simplistic and wrong to say religion is the the sole source of this kind of brutal hatred in the world. How about the purely political and ideological killings of rebel groups in Central and South America? Or the purely monetary murders of drug cartels in Mexico? The atrocities of the Kamier Rouge and Pol Pot, or the wholesale rape and hacking off of limbs by African militia groups? Somolian death squads? None of these groups are based on religious principles/backgrounds.
I agree with croyfp – it’s extremism of ANY ideology: be it political, ideological, religious, monetary, or otherwise that causes folks to feel the need to destroy those that don’t believe in what they do. In fact, I can see a bit of this kind of hatred and anger in your response that desires to destroy something you don’t feel is right in your eyes. A true desirer of the good seeks to take what is good, and correct what is bad via reasoned argument and dialog. An extremist says it must all be destroyed. So where do you find yourself in your statement?
People desire to hurt others when they themselves have been hurt and not found understanding or healing; so they try to hurt others so that others have to feel the hurt and helplessness they themselves feel. We won’t make a dent in extremists like this until they are allowed to be heard or at least given models to help guide them through their anger.
You can find the whole dialog and program here. There were some pretty good comments.
(this got stuck away in the ‘filed for later’ bin and I’m cleaning them out)
I’m not one that writes to reps often, but lately I sure have been. Especially after Portland just passed a $600 million biking expansion plan in Portland. Now I’m a fan of biking and exploring alternative transportation – but Oregon just forced a ballot measure vote on two new ‘Emergency’ tax increases to pay for basic services such as schools – both of which passed. I have a really terrible time looking at people spending $600 million on these sorts of plans when basic services are in emergency mode. But at any rate, there’s more to the story.
A few facts:
$600 million plan is a 20 year plan, and it is not actually funded yet. It was just passed with funding to be figured out in the next 30-90 days. The mayor is quoted as saying that his first thought on funding will be that once the big pipe project is finished, he’ll start diverting money from that project. Problem is (as one writer pointed out), that money comes directly from water and sewage bills that were raised to nation-high levels to fund big pipe. So, instead of dropping your taxes after big-pipe is fixed, your water bill would now start funding a bike project.
A few very notable and interesting quotes from sites:
“I propose that one way to help pay for these biking and pedestrian programs would be to license bikes with a yearly fee. I think we could also increase public safety if the bikes also had to get a quick mechanical and safety check just like a car is required to pass. It could also be used to ensure the rider has a proper helmet, lights for night riding, reflective gear, and other legally required safety equipment. We have a lot of local bike shops in the area; and they could check out these bikes and issue these simple sticker permits that are attached to the bike like a yearly license plate sticker showing I’m up to date. If the permits were numbered, it would also be a good way to track stolen bikes. It would certainly help create and/or keep jobs at these local bike shops – especially in these tough times.”
(to the Portland Transportation commissioner) “Your choices as Transportation Commissioner openly, blatantly, and consistently discriminate against my use of TriMet’s bus system to get around. As Transportation Commissioner, you have blamed buses for street conditions, when buses are but a small user of the road system. You have openly, actively sought out regional transportation funds serving cities as diverse as Troutdale, Forest Grove and Sherwood to fund the Portland Streetcar – a development project that was somehow tied to transportation and thus raided money used to improve the bus system. And you demand TriMet pay $3 million a year to subsidize that system – that’s $3 million a year not going to regional transportation.
And then you have the gall to say we can’t afford another pet project. Remember: Portland extends from Raleigh Hills to Gresham. And it’s your job, as Mayor, to represent – and support – each one of those citizens. That means that guy living on S.E. 163rd Avenue is just as much a Portland resident as one downtown – and deserves an equal amount of investment (since you take an equal amount of taxes from them).
Now: Can we afford your bike plan – AND meet your promise to your constituents at the same time? Or are you playing favorites with your special interest groups again?”
That’s the assembly instruction you need to unlock a secret ‘debug mode’ on AMD processors since the Athelon. While you need to be in ring 0 to execute it; it did bring up some interesting possibilities of using the special debugging mode for reverse-engineering operation of the chip, accessing possible new features, or presenting a chink in the security armor. So far, the security problems don’t seem to be probable, but if they cause undocumented resets/etc – they might be.