Thursday, October 6, 2011
Voting and deadlock
Quick thought: it's mathematically impossible to create a voting system that translates individual transitive preference orderings into collective transitive preference orderings. There's always some possibility of a loop. This is similar to deadlock in resource allocation. Relation?
Thursday, September 15, 2011
PSV considered harmful
"My motor control ISR's use lookup tables in PSV, most of my PID or FIR control interrupts use coefficients in PSV for the DSP to save RAM..."
https://www.microchip.com/forums/m241389.aspx
Aside from the acronymorrhea, it's really an interesting discussion. One poster insists certain practices are "not safe", while others say they're perfectly fine. Both have valid points.
Many things are not safe if you do not take appropriate precautions. Nested interrupts really can cause problems on non-atomic operations. But that doesn't mean you don't use nested interrupts, it just means you disable them for the duration of any non-atomic operations.
Simon Tatham, speaking of the hoops he went through to implement coroutines in C, said "Any coding standard which insists on syntactic clarity at the expense of algorithmic clarity should be rewritten." Obviously that's not 100% realistic. But neither is assuming you can meet an arbitrary syntactic coding standard 100% of the time. The balance lies in knowing when to break what rules.
https://www.microchip.com/forums/m241389.aspx
Aside from the acronymorrhea, it's really an interesting discussion. One poster insists certain practices are "not safe", while others say they're perfectly fine. Both have valid points.
Many things are not safe if you do not take appropriate precautions. Nested interrupts really can cause problems on non-atomic operations. But that doesn't mean you don't use nested interrupts, it just means you disable them for the duration of any non-atomic operations.
Simon Tatham, speaking of the hoops he went through to implement coroutines in C, said "Any coding standard which insists on syntactic clarity at the expense of algorithmic clarity should be rewritten." Obviously that's not 100% realistic. But neither is assuming you can meet an arbitrary syntactic coding standard 100% of the time. The balance lies in knowing when to break what rules.
Wednesday, September 7, 2011
The GOP candidate field (part 3)
This is the third part of my series on the candidates for the Republican nomination for the 2012 US Presidential election. Parts one and two are also available. I never finished the analysis, due to time constraints, and talking about Paul and Romney now would just be redundant. I post this now for completeness.
- Jimmy McMillan founded the Rent Is Too Damn High Party. You can view his website, but there's no well-labeled positions page. The Wikipedia article lists some of McMillan's stated positions. I've got to wonder how he expects to fix rents across the entire country. (Fix, as in to make a standard value, not as in to correct.) That doesn't make economic sense to me. I admire him for taking the stand he has to defend the poor. I'm just not sure about how he'd do as President.
- Rick Santorum has a short politifact record. He's listed as having made some moderate factual errors, but nothing that throws up giant red flags for me. His campaign page issues section is almost non-existent. As such, it's really difficult to say much about him one way or the other. I do take issue with some of his positions during his time in the Senate. He supported bills seemingly intending to turn the national weather service into a tax-funded arm of other private weather services. His positions on homosexuality and evolution are, at the least, not thoroughly considered. His position on contraception is pretty bizarre, to the point that I almost think it has to be a misstatement. Overall, he sounds like a generic neocon religious-right candidate, of the sort that twists facts to fit their preconceived notions of what America should be. I'm about 90% confident of that description. Based on these sources, he's harder to condemn than some candidates, but neither is he at all praiseworthy.
- Stewart Greenleaf is a PA state senator, who declared relatively recently. He has no campaign page as far as I've seen. You can see some of his state-level issue positions here, and voting records here. Overall, a relatively difficult candidate to judge. I'm inclined towards him because his position statements are very detailed, and seem, at an overview, to be sensible. That's more than I can say about a lot of candidates.
- Buddy Roemer is well known for being the sitting governor that came in third in the Louisiana top-two primary in '91, resulting in a runoff between the uber-corrupt Edwin Edwards and former KKK Grand Wizard David Duke. (Unfortunately, Louisianna still uses that screwed-up anti-democratic system...) So he's historically interesting to me, and I rather wonder what his thoughts would be on fixing our broken voting systems. Too bad he doesn't seem to say! His issue page is longer than some. He's clear that he wants to raise retirement benefit ages, which is good. He seems to have some grasp of the fact that our lack of jobs is caused in large part by free trade with countries that have lower standards. He says he'd eliminate Obamacare while maintaining insurance coverage of pre-existing conditions. Unfortunately, he fails to address how eliminating the individual mandate while still mandating coverage of pre-existing conditions would completely destroy the entire concept of insurance.
Roemer's vision of the Department of Education is one of a body that measures, but does not mandate. He believes in some viable ideas for baking reform. He's clearly opposed to a national sales tax, though his flat-tax plan is still financial nonsense. He talks about cutting government spending by about 30%, but also about increasing military spending, so it's not really clear where this extra money is going to come from, especially with lower tax rates on everyone
In short, Buddy Roemer has some good ideas that go beyond the usual talking points. (A few of them were my ideas in my congressional campagin, so they must be good!) The details of how they'd actually work are sometimes so vague as to be nearly useless, but at least he has some understanding of the problems. He also takes no donations above $100, so he's at least marginally less likely to have been bought out.
Solar Turbine
Caterpillar has a division called Solar Turbines.
This division has nothing to do with solar-powered turbine generators. Or solar-anything-else. At all.
Perhaps they are named after a man named Sol?
Or perhaps they are so-named because their primary field of operation is entirely within the solar system?
Of course, Wikipedia has ruined my fun, revealing that it's because... San Diego is so sunny!
Of course!
This division has nothing to do with solar-powered turbine generators. Or solar-anything-else. At all.
Perhaps they are named after a man named Sol?
Or perhaps they are so-named because their primary field of operation is entirely within the solar system?
Of course, Wikipedia has ruined my fun, revealing that it's because... San Diego is so sunny!
Of course!
Tuesday, August 30, 2011
Odd juxtopositions
Today has been a day for having music stuck in my head. I have Dies Irae and Another One Bites the Dust running through my head simultaneously. I have thus been unable to resist mashing them up.
Tuesday, August 23, 2011
Student feedback
In 2006 I finished my BS in computer science and computer engineering at Lipscomb University. Last fall I taught a class on web server technologies there . While teaching that class, I decided to try to correct what I saw as a significant oversight in the CS curriculum: I taught the students the basics of using source control, particularly Git.
I just got an e-mail from one of my students saying that Git helped him get a job after he graduated.
I have made the world a slightly better place.
Let's see what I can do teaching Operating Systems this fall!
I just got an e-mail from one of my students saying that Git helped him get a job after he graduated.
I have made the world a slightly better place.
Let's see what I can do teaching Operating Systems this fall!
Friday, August 19, 2011
The GOP candidate field (part 1)
We all know the 2012 elections will be a poor imitation of a functioning democracy. All our elections in my lifetime have been that. Our democracy is fundamentally broken on a number of levels, and if you follow this blog for long, you'll read plenty about the exact reasons why!
But that doesn't mean you give up. Democracy is best served by ensuring that we, the voters, have the best possible candidates to choose from. It's a foregone conclusion that, for good or ill, Pres. Obama will be the Democratic party's candidate in 2012. It's similarly as certain as one can reasonably be that either a Democrat or a Republican will win that election. This means that the most significant impact most of us can have on this election may be to help select the Republican nominee. I encourage everyone who can, either as party members or in open primaries, to become informed and vote in the Republican primary. I similarly encourage those who do not care to become informed to not vote, which would only serve to reduce the influence of those of us who care.
To that end, I will be posting my comments on the GOP contenders as the primary progresses. It is my hope to provide useful information to any who are planning to vote.
Let's take a look at the candidate field, and make some preliminary observations. As of this writing, there are fifteen declared candidates. I'll knock out the easy ones first. Keep in mind that I'm not looking at any polling data so far, beyond preliminary indications that Paul and Bachmann are doing well. This is all based on positions and public statements.
Cain, Huntsman, Johnson, Karger, Martin, McMillan, Paul, Roemer, Romney, and Santorum will wait for another post.
But that doesn't mean you give up. Democracy is best served by ensuring that we, the voters, have the best possible candidates to choose from. It's a foregone conclusion that, for good or ill, Pres. Obama will be the Democratic party's candidate in 2012. It's similarly as certain as one can reasonably be that either a Democrat or a Republican will win that election. This means that the most significant impact most of us can have on this election may be to help select the Republican nominee. I encourage everyone who can, either as party members or in open primaries, to become informed and vote in the Republican primary. I similarly encourage those who do not care to become informed to not vote, which would only serve to reduce the influence of those of us who care.
To that end, I will be posting my comments on the GOP contenders as the primary progresses. It is my hope to provide useful information to any who are planning to vote.
Let's take a look at the candidate field, and make some preliminary observations. As of this writing, there are fifteen declared candidates. I'll knock out the easy ones first. Keep in mind that I'm not looking at any polling data so far, beyond preliminary indications that Paul and Bachmann are doing well. This is all based on positions and public statements.
- We can reasonably conclude that Jonathon Sharkey is not a serious candidate.
- Rick Perry has a few points against him. He seems to think it's perfectly okay to throw about public accusations of capital crimes that he can't back up in court. By that standard, I suppose it would be okay for me to say Rick Perry is a murderer. If he can't tell the difference between a political opinion and a statement of hard legal fact, he has no business being in any sort of office. It's also impressive how he both claims credit for Texas' balanced budget, while decrying the Federal handouts that covered Texas' budget shortfall. Total hypocrisy. And his Politifact record is not encouraging.
- Michelle Bachmann has a Politifact record as bad as any I've seen. She frequently makes public political statements that are totally divorced from reality. She's either horribly uninformed, or purposefully deceptive, neither of which is an acceptable quality in a leader. In congress, she complained that the 2010 census has become to intrusive, even though it's nearly identical to previous censuses. She believes that CO2 is in no way harmful. (It is.) And then there's the simple fact that she's been part of the Republican House effort to hold the entire country hostage via the debt ceiling to achieve their unpopular political ends. Oh, and she voted to reauthorize the PATRIOT act, as well.
- McCotter, also in the House, also held the country hostage, also voted to reauthorize the PATRIOT act. Any of those makes him unacceptable in my book. On the plus side, he did vote to end the Bush tax cuts, one of the leading drivers of the present deficit, after having earlier voted to extend them. Of course, so did Bachmann, so that's not exactly saying much. His voting record and positions don't seem totally insane. Perhaps the best we can say for him is that he hasn't opened his mouth on camera enough to even have a Politifact record.
- Newt Gingrich has surprisingly sane positions on a number of things, but again, his politifact is just ridiculous. My biggest single problem is his total flop on Libya. There's just no way on earth to buy his explanation of that. I see no better answer but that he was disagreeing with Pres. Obama just to do it. Newt's also got a couple other flips and pants-on-fire moments that raise eyebrows.
Cain, Huntsman, Johnson, Karger, Martin, McMillan, Paul, Roemer, Romney, and Santorum will wait for another post.
Thursday, August 18, 2011
Once more unto the blog
I find myself wanting to say random things with no particular direction. The things I want to say can't typically be compressed into 140 characters. Thus, blog.
I've done this a few times before, but not with any serious regularity. We'll see how I do now.
Work's been interesting of late. I've been working on what's basically a grid-tied inverter for regenerative braking. I wrote a Python script to autogenerate my sine wave lookup table. The output and switching frequencies can be controlled by two constants in the script, and you can immediately recompile. It's quite excellent. The unit seems to work under all tested circumstances. Next, abuse.
I've also been training a new engineer. He's learning well how we do things, having had to drop two projects already for higher-priority ones. And now he's trying to modify and update my code from three years ago. (Poor sod.) See, I built this tester unit. It met spec, but I was never happy with the overall architecture. Now, three years later, someone wants several of them, somewhat modified, and they want them now. Since I never went back and redid it in what I now (in my since-acquired infallible wisdom) know to be the One True Way, and since we're in a rush, we have to carry over the bad old architecture to Yet Another Product.
Be sure your sins will find you out.
I've done this a few times before, but not with any serious regularity. We'll see how I do now.
Work's been interesting of late. I've been working on what's basically a grid-tied inverter for regenerative braking. I wrote a Python script to autogenerate my sine wave lookup table. The output and switching frequencies can be controlled by two constants in the script, and you can immediately recompile. It's quite excellent. The unit seems to work under all tested circumstances. Next, abuse.
I've also been training a new engineer. He's learning well how we do things, having had to drop two projects already for higher-priority ones. And now he's trying to modify and update my code from three years ago. (Poor sod.) See, I built this tester unit. It met spec, but I was never happy with the overall architecture. Now, three years later, someone wants several of them, somewhat modified, and they want them now. Since I never went back and redid it in what I now (in my since-acquired infallible wisdom) know to be the One True Way, and since we're in a rush, we have to carry over the bad old architecture to Yet Another Product.
Be sure your sins will find you out.
Subscribe to:
Posts (Atom)