djcapelis is currently certified at Apprentice level.

Name: DJ Capelis
Member since: 2008-07-19 06:54:59
Last Login: 2011-05-03 21:51:27

FOAF RDF Share This

Homepage: http://capelis.dj

Notes:

I touch computers in naughty places

Projects

Recent blog entries by djcapelis

Syndication: RSS 2.0

Unethical ethics training?

It's that time of year where all university employees are herded through a useless online ethics training. This training suddenly came about a few years back right after the UC's compensation scandal. This leads many to the not entirely far off thinking that this training is mostly a good way to waste everyone's time to make the university look better. This would be less galling if the actual training provided was in any way useful.

It occurred to me that wasting the time of university employees was probably not ethical. Which led inexorably to the question: is one, therefore, ethically bound to file an ethics complaint about such a widespread and systematic waste of university resources?

I didn't need ethics training to tell me that the answer to that question, is yes:

From: D.J. Capelis
To: UCSC's Chancellor, UCSC's Academic Personnel Office, UCOP President, UCOP Ethics and Compliance Director, UCOP Compliance and Audit Head.
Subject: Disclosure of suspected improper activity

Hello all,

I have some concerns about the annual ethics training we were once again subjected to this year. As an employee with no direct budgetary authority over any grant, fund or index, I once again asked to answer a series of belittling questions on ethical conduct that a child, an unethical person, or even someone with no familiarity whatsoever of UC, campus or state and federal policies. It disturbs me that university resources are being misappropriated in this fashion.

My concerns are as follows:
1) This training is mostly in response to a publicly visible compensation issue involving decision makers comprising only a tiny fraction of the systemwide staff. Using precious university as a PR stunt neither seriously addresses the fundamental issues of misconduct nor is it ethical.
2) This training requirement applies to student employees, student researchers and is shockingly expansive in its breadth. To my knowledge, no other training requirement is so widespread and while we can all agree that ethical employees are critical, it is a waste of university resources to train employees in ethical concerns that have no application to their job. If the university truly believes that these training programs are essential to maintain the ethical behavior of university employees, then the university is obligated to provide training on research ethics to researchers, fiscal ethics to fiscal and fund managers and proper disclosure and/or filing ethics to student filing staff (or whatever is most appropriate) instead, this university has chosen to provide an ethics course that is one-size fits all. This, again, is a gross inefficiency that rises to the level of improper.
3) Even the existing one-size fits all ethics training offered by the university is remarkably flimsy and imparts no real knowledge of university policy. This training is commonly known as CYA training and continues to experience popular use as a way for organizations to state that employees receive training on topics without actually imparting real knowledge. I was shocked to discover that I needed to read or refer to not a single university, campus or external policy, regulation or law in completing my ethics course. The training consisted of a series of multiple-choice questions, several of which were in the following format:

A) No, this is not ethical because X
B) No, this is not ethical because Y
C) Yes, this is ethical because flippant hilariously transparent clearly wrong reasoning
D) No, this is not ethical because Z

Where A, B and D are correct answers. In fact, none of the scenarios in my training had ethical behavior and simply selecting the answers that essentially declared the behavior non-ethical would allow one to pass the ethics training. If a course at this university were to administer such a poorly-thought out series of questions with such low standards, those who prepared the test would rightfully be questioned and accused of low standards leading to a lack of learning. I don't see why a series of questions sent out to the employees of the University of California system should be held to a lower standard. A useless training is improper as it is economically wasteful and a gross inefficiency, especially when the University, of all organizations, is in one of the best positions to design a real and useful set of training materials that would benefit university staff members. I'm sure this very system must contain several world-class experts on this exact topic.

These concerns are not minor. I'm sure I have to be the last to remind you that the UC system is quite large comprising of over 100,000 employees, each of whom will have to spend approximately 30 minutes on this training. This easily puts direct estimated costs of employee time involved with this training in the realm of $500,000 to over $1 million, depending on how one counts. This is a lot of money.

This poor estimate of the direct costs say nothing of the hit to employee morale caused by what is widely seen as a useless, pointless exercise that does little to strengthen ethics of many hardworking and well intentioned UC employees who work everyday to ensure the success of the UC system. While I can only speak for myself, every year I've had to do this "training," the rest of my day was less productive due to the feeling that the university doesn't value my time enough to clear the obstacles away that keep me from performing the research we continue to hope will attract increasing support for the university's research objectives and goals.

The university's continued insistence of making the rest of us jump through hoops to alleviate the poor PR the university received because of the misconduct of a few continues to be a waste of university resources enshrined in university policy itself. Please examine this issue closely and provide either more useful and real training, more targeted training and/or investigate dropping this systemwide requirement altogether. (Or at the very least, allow local divisions to trump the requirement and potentially provide better to their local employees which will supersede the system-wide, one size fits all ethics requirements that myself and many other staff members have grown to hate.)

Being delivered to one of my locally designated officials as well as the a system-wide designated official, this notification comprises a good faith disclosure of information that may evidence improper governmental activity that may be economically wasteful and/or grossly inefficient under the California Government Code section 8547.2 and should therefore meet the requirements of a protected disclosure. I hereby waive rights involving discussion, publication or disclosure of the content of this notification, I do not however, waive any rights protecting my employment status.

Sincerely,
~D.J. Capelis


If wish I had any faith at all in this process leading to a successful resolution, but I fear it's unlikely.

Syndicated 2010-03-01 04:00:59 from djcapelis

Error handling in C

One of the things I really disliked in C is the lack of good error handling.

A few days ago I was working ona project and decided to do something about it:

#define chk_error(cond) if(cond) { goto err; }
#define err_handler err:

I don't even bother to use the last macro. Just make sure you put in a label in every function you use the chk_error macro and you're good. The compiler, will, of course, warn you if you forget.

I think the linux kernel likely has a similar macro?

This fails in some complex cases where it would be nice to have non-default error handlers. But that's easy enough to do, actually and I'll likely come up with a macro along the lines of chk_error(cond, handler) along with a set_err_handler(label) to handle those cases.

Sometimes I think the pre-processor is one of the most undervalued C features that many more "modern" languages fail to fully provide.

Example usage:
	    char * tmpname = calloc(1, strlen("/tmp/epoll_emu.XXXXXXX") + 2); /* Extra padding */
	    chk_error(tmpname == 0);
            ...
            chk_error(unlink(tmpname) == -1);

	err:
	    return -1;

Syndicated 2010-01-27 03:03:12 (Updated 2010-01-27 03:08:20) from djcapelis

One of those "you have to be here" kind of things.

Our instructor complained our chapter summaries were too boring:


Systems Researcher in Function Land
Chapter 1

Lost in his own thoughts, the systems research continued plodding along. The researcher took a manpage out from his wallet, gazed on it and sighed.

It was his favorite side-effect. He hadn't seen any in weeks. Why had he come to functionalland? He tried to remember. His last trip here hadn't seemed to go all that well, why did he come back? Ah yes... a quest for purity. Or so he seemed to remember from the brochure.

In any case, this part of functionalland was different from what he remembered. Instead of camels running around O shaped racetracks, the camels here seemed to all be resting. Apparently the extensive amount of time in the sun had made them lazy and unwilling to move. There were also less French people, though the lazy camels seemed to be trying to emulate some of their behaviors.

"French people" thought the researcher with a fleeting smile.

His smile slowly faded into a frown as a deepening realization slowly dawned on him: there weren't even croissants here.

--------------------------------------------------------------------------

Systems Researcher in Function Land
Chapter 2

The researcher plodded on. Gathering his strength he ascended the hill in front of him and slowly made his way to the top. As he stepped to the top of the hill, a meadow came into view.

He'd never seen anything like it. It was... it was a battle. A massive number of statements, huddled around in the center of the meadow, shielding themselves against two armies of operational semantics that had descended down upon the unwitting statements.

The systems researcher reached for his trusted LALR parsers and rushed down the hill. He knew his parser wouldn't last the battle, but he couldn't bear to see such abuse. Bringing his parser to bear, he threw himself at the nearest group of semantics definitions.

Slowly, the definition turned around. It raised a magnifying glass towards the researcher, the researcher gripped his parser, ready to fight. The wind blew from the north, the researcher and the definition locked eyes and cycles passed.

The definition was made out of a series of intricately built legos. The researcher could see that each structure within the definition was carefully specified and placed to yield the overall shape. The definition's blocky appearance was comforting and gave a sense of depth.

The definition continued to stare, then it paused and the definition lowered it's eyes and muttered "you don't match me anyways." The it turned, running off. The systems researcher ran after it.

As they passed, the systems researcher noticed many other definitions made out of legos, yet the researcher also another type of definition. These definitions were wearing hemp, birkenstocks and all had little stickers that said "Made in Santa Cruz" on them. Their appearance was natural, but their behavior was anything but. These definitions didn't seem to have the same depth as the block lego sort. These seemed to only be concerned with outcomes, one got a cold feeling just looking at them.

Abruptly, the definition the researcher was chasing stopped near a nearby while statement. The definition turned it's eyes on the while statement and consumed it as the systems researcher screamed with rage and plunged his LALR parser into the definition's blocky back.

Far from being enraged by the assault, the definition simply turned around and in a lecturing tone, said: "you don't match me." The parser fell out of the definition uselessly and the systems researcher was left standing in the midst of the battle, mouth agape. He looked on when suddenly, out popped the while statement, slightly smaller. He glanced at the researcher puzzled when the definition yelped and out sprung an if-then-else statement and a little guy who looked like a state delta.

The while statement shrugged and ran back towards the blocky definition, which immediately consumed it again.

The researcher, seeing a lost battle when he found one, picked up his parser, shrugged and made his way out of the battle.

An odd place, functionalland.

Syndicated 2010-01-15 03:27:40 (Updated 2010-01-15 03:40:04) from djcapelis

Maybe the bleeding will stop after all...

For those of you who don't watch the state of the state address or read articles about it, the Governor proposed that spending on prisons shouldn't be more than spending on higher education. He wants a constitutional amendment to that effect and wants the funding in the next budget to match this vision.

The New York Times wrote an article about it here: http://www.nytimes.com/2010/01/07/us/07calif.html containing this quote:

“Those protests on the U.C. campuses were the tipping point,” the governor’s chief of staff, Susan Kennedy, said in an interview after the speech. “Our university system is going to get the support it deserves.”


Huh.

Syndicated 2010-01-07 03:30:17 from djcapelis

A brief look back

A year and some days ago I wrote that I was glad the Democratic caucus didn't achieve 60 seats in the Senate.

Given that they have now, and given the current struggles over the healthcare bill, I think this entry is more relevant today than when I wrote it: http://djcapelis.livejournal.com/113917.html

A recap for those who want just the hilights:
57-59 Seats: Good stuff for the Democratic caucus
60-61 Seats: Terrible stuff for the Democratic caucus
62+ Seats: Good stuff for the Democratic caucus

Syndicated 2009-12-14 01:28:51 (Updated 2009-12-14 01:31:52) from djcapelis

73 older entries...

 

djcapelis certified others as follows:

  • djcapelis certified aseigo as Master
  • djcapelis certified Zaitcev as Master
  • djcapelis certified Fyodor as Master
  • djcapelis certified numist as Apprentice

Others have certified djcapelis as follows:

  • Zaitcev certified djcapelis as Apprentice
  • chalst certified djcapelis as Apprentice
  • robbat2 certified djcapelis as Apprentice

[ Certification disabled because you're not logged in. ]

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!

X
Share this page