Articles by Ezra S F

You are currently browsing Ezra S F’s articles.

Last week I posted on how to verify the cookie domain on nodes not just looking in the Ear file on the admin node. That same concept has another cool use: Verifying which VSTs the nodes actually have.

Typically one-off updates from Blackboard has us run the updateWebctEar to replace classes in the war file. In a nutshell it…

  1. opens the ear
  2. opens the war
  3. updates the class at the path
  4. regenerates the war
  5. regenerates the ear

Simple enough by hand, but very convenient in a script. I was glad when Bb gave us this functionality.

cd $WL_DOMAIN
./webct.sh updateWebctEar __some_class.class webct.war/WEB-INF/path/to/class

Verifying that this is in the Ear file is rather easy, but it takes a while manually. Also, one of the steps is to open the ear then search the webct.war. Well, the managed nodes cache the Ear so it kind of saves a step to look there. We run 14 clusters and worry about inconsistencies between various development clusters and between development and production. Plus, as this is a sanity check, why not check all of them? (Also, we use dsh, so checking all 140 production nodes with one command and not having to login to each saves the most time.)

The command…

  1. changes directories to a location in the cache area,
  2. confirms the location
  3. uses the Java ARchive (JAR) tool to list (-t) verbosely (-v) the webct.war file (-f)

All put together…

cd$WL_DOMAIN/servers/node_name_regex/tmp/_WL_user/webct/
&& pwd && $JAVA_INSTALL/bin/jar -tvf */webct.war WEB-INF/path/to/class/__some_class.class

The output looks something like below. The time stamp appears to be when the server administrator added the file to the

118864 Fri Jul 23 11:25:42 EDT 2010 WEB-INF/path/to/class/__some_class.class

I’m thinking this could also be useful to scan for what updates the nodes have in the War just after we’ve installed it.


Related posts

Safeassign

A couple thoughts about problems with Blackboard’s SafeAssign product.

  1. The product appears to be designed to be used by a single institution learning context from CE/Vista systems. We have an institution (InstA) which hosts collaborative programs. Faculty quite reasonably would like to use SafeAssign at InstA just like they do at their home institution (InstB). It appears the design of SafeAssign is such that the only way to share documents across institutions is to put them in the global area meaning anyone use SafeAssign could use them. Scary!
  2. Providing some sort of statistics on institution use helps administrators justify using a product. The total lack of any (like the competitor Turnitin.com) provides is a major problem.

Disappointing.


Related posts

Just finished a Oracle WebLogic Server 11g: Administration Essentials class today. So there are lots of things floating about in my head I want try. (Thankfully we have lots of development clusters for me to break beyond repair. Kidding. Sorta.)

One of the common support questions Blackboard asks for those of us CE/Vista clients running a cluster is whether we have changed the cookie domain in weblogic.xml. This has to do with specifying where the JSESSIONIDVISTA cookie is valid. By default the value in the weblogic.xml file is set to .webct.com which is not valid anywhere (not even Blackboard.com). One of the install steps is if one is running a cluster, in the administrator node Weblogic Domain directory run some commands to extract the weblogic.xml, edit it, then run some commands to add it back to the WAR file. Placing a “REFRESH” empty file on all the managed nodes deletes the staged and cached copies of the WAR.

No big deal and easy.

Except when it isn’t?

Occasionally someone will distrust your work and want you to verify the right setting is there. Normally they say to extract the weblogic.xml again and verify it is correct there. I had a thought. Why not verify in each managed node’s cache it has the correct value?

It is easier than it sounds. In the Weblogic domain directory (where setEnv.sh is located), change directories to

$WL_DOMAIN/servers/node_name/tmp/_WL_user/webct

(NOTE: Anything I put in bold means it is custom to you and not something I can anticipate what you would use there.)

Here I just used these greps to look for my domain. If I get results for the first one, then all is well. If I don’t get results for the first, then the second one should confirm the world is falling because we are missing the cookie domain.

grep “.domain.edu” */war/WEB-INF/weblogic.xml
grep “.webct.com” */war/WEB-INF/weblogic.xml

Since we use dsh for a lot of this kind of thing, I would use our regex for the node name and add on the path pieces in common. I have not yet studied the pieces between webct and war to know for certain who they are derived except to say they appear to 6 characters long and sufficiently random as to not repeat. Any [ejw]ar exploded into the cache appears to get a unique one. So this might work?

grep “.domain.edu” $WL_DOMAIN/servers/node_name_regex/tmp/_WL_user/webct/??????/war/WEB-INF/weblogic.xml

If not, then try:

cd $WL_DOMAIN/servers/node_name_regex/tmp/_WL_user/webct/
&& pwd && grep “.domain.edu” */war/WEB-INF/weblogic.xml

I’m envisioning this method to verify a number of different things in the nodes. It especially confirms the managed node received what I expected not that the admin node has the correct something.


Related posts

A good error message in my opinion provides enough information for the user or administrator to determine likely cause. It doesn’t have to be THE cause. Just something I can try changing and see if the problem disappears.

For a while now, Outlook was telling me the “Operation Failed” in a toaster pop-up. O… kay…. After some initial poking around I was able to discover the failure was because of an RSS feed. No mention of which one. The problem didn’t go away, so I decided to delete the feeds to no improvement. So I had no RSS feeds and was still getting the error about the RSS feed. So I looked in the Deleted Items to see which feeds I should add back and noticed one I didn’t deleted. So I permanently deleted all of them.

No more errors.

So the problem was: I deleted an RSS feed. Send/Receive was unable to write new results to the deleted feed, so it told “Operation Failed.”

No, Microsoft, you are the fail.


Related posts

Interesting thoughts in Electronics as Fashion–The Anti-Gizmo Fetish.

The topic of whether any particular device is actually useful or pleasing is a separate issue. I’m talking here about electronics as a fashion statement–an expression of personal identity. And for portable electronics, that statement is increasingly visible and public. Having a blu-ray player (when they were new) or a 3D TV (more recently) is one sort of fashion statement, but you need to mention it or have friends over for anyone to know. Having a portable device you use in public takes electronics-as-fashion to a new level. You really do “wear” it.

Me playing Nintendo with Two Broken Arms

Me playing Nintendo with Two Broken Arms

When I was really young, the older kids walked around with blaring boom boxes where bigger was better. Over the years these devices have shrunk in size to be as small as my keys when smaller became better. I guess values changed.

That people judge others by their possessions doesn’t seem like a revelation. Why stop at clothing and iPods (and derivatives) though? Pretty much anything with a brand expresses personal identity. The more rare, the more superior people feel over their counterparts so an iPad first among the social circle is good, but it is popular as a status symbol because few can afford a Ferrari. These interactions over toys are just the modern version of chest thumping for establishing who is the Alpha. We also train our children to try to become Alphas at a young age when there is a run on the must have item for Christmas. The toys just get more rare and expensive.

More interesting to me are the subcultures filled with anti-Alphas who reject portable electronics, drive barely functioning cars, or wear pithy teeshirts. Sometimes the better strategy isn’t to compete directly but to highlight different personally advantageous strengths. I think of the “hipster” archetype as trying to fill this role. If hunting isn’t your forte, then maybe growing the food works better so become the Alpha of that.

All these mind games are why humans have the big brains. :)


Related posts

Joined a book club. Oddly enough for being an avid reader, I’ve never really done well discussing them in groups. In high school, there was a group of authors who would discuss manuscripts each other had written. The difference between this and a book club being openly critical of something hurts can hurt the author’s feelings. Saying you don’t like someone’s favorite book doesn’t have the same personalization.

Guess I turned a corner when Chelsea and I planned to get together and discuss The Tipping Point about 9 months ago. In the actual book club, I enjoyed hearing other’s takes and responding to them. Better understood some areas I guess I glossed over when reading on my own. Not too much like Lit class like I expected. (Was also able to overcome the nausea of going off to meet strangers.)

Wondering if perhaps the best approach is to discuss while reading … instead of … reading then discussing? Guess people’s differences in pacing make that hard. Plus they’d have to be around each other more like daily than once a month.

By the way, in my introduction, I claimed these as the three “books” I like.

  1. Piers Anthony’s A Spell for Chameleon (the Xanth series) started my obsession with getting a hold of new books. One of my aunts gave me the first three books. I then had to buy the rest of the books the day they dropped in bookstores. That was before Amazon existed.
  2. George R. R. Martin’s A Song of Ice and Fire series (first book is A Game of Thrones) Ended my obsession of getting a hold of new books. After all, I spent months checking in with a certain bookstore asking when Storm would drop. Feast spent a year on pre-order through several slipped drop dates. I no longer pre-order books.
  3. Not sure why I named Lincoln’s Melancholy except the other books which came to mind were about physical sciences. I less than stellarly try to be more partial to behavioral sciences.

Naturally quantum mechanics came up. For the life of me, I could not remember name Michio Kaku. His book Hyperspace was where I learned the about the concept of using worm holes to travel massive distances or even time travel. (Actually I read that one at the request of another aunt so I could explain it to her.)

Now… Off to read Ender’s Game again.


Related posts

I knew some things about William “Dink” H. NeSmith, Jr. a relatively new member of University System of Georgia Board of Regents through a friend and former coworker, Andy Fore, who personally knows Dink.

  • Jesup, Georgia
  • publishes newspapers
  • nice guy

Dink dropped by to tour our facility and answer questions.

One of the more interesting answers to a question about expanding distance learning had to do Dink’s belief online is the direction of the future and with the University of Phoenix operating in our state. He would rather see the money students give them come to us instead. The sense I get is Georgia ONmyLINE intends to help Georgians locate the online class options available to students. The project I work on, GeorgiaVIEW, provides the online class infrastructure. Another project I help intends to provide a more seamless integration between schools for those registering with Georgia ONmyLINE. Guess we are cutting edge?


Related posts

Just like I went on the walk last year, I went on the Scott Kelby worldwide photo walk in Athens this year yesterday. One local called us the paparazzi. Another asked if there was a photographer convention.

A couple of my takes:

Sunset Crane Founders Garden

Flickr Groups featuring photos from Athens and other walks:


Related posts

Check which famous writer you write like with this statistical analysis tool, which analyzes your word choice and writing style and compares them with those of the famous writers.

Not trusting a single sample, I tested fifteen writing samples including stories and blog posts (excluding those with block quotes). The Cory Doctorow result was the most common at six.

I write like
Cory Doctorow

I Write Like by Mémoires, Mac journal software. Analyze your writing!

I also received David Foster Wallace (3), Arthur Conan Doyle (3), J.K. Rowling (2), Isaac Asimov (1).

There was a clear pattern to the results.

  1. Cory Doctorow: Topic was work. Analyzer probably keyed on the dispassionately objective word choice.
  2. David Foster Wallace: Topic was my personal life. Analyzer probably keyed on me portraying the  absurdities.
  3. Arthur Conan Doyle: Topic was adventure story originated in high school. I probably thought too much like Sherlock Holmes then.
  4. J.K. Rowling: Topic was also adventure story composed in early college. I probably thought too much like Harry Potter then.
  5. Isaac Asimov: Topic was science. Its hard not to use scientific jargon when writing about science.

That there would be a difference between my high school and college story writing was interesting. The difference depending on whether I was writing about work, personal, or science was also interesting. I would have liked to see almost every sample I chose of my writing to reflect a single author. Otherwise, it seems results skewed towards word choice not style.

From the developer, Dmitry Chestnykh on how this works.

Actually, the algorithm is not a rocket science, and you can find it on every computer today. It’s a Bayesian classifier, which is widely used to fight spam on the Internet. Take for example the “Mark as spam” button in Gmail or Outlook. When you receive a message that you think is spam, you click this button, and the internal database gets trained to recognize future messages similar to this one as spam. This is basically how “I Write Like” works on my side: I feed it with “Frankenstein” and tell it, “This is Mary Shelley. Recognize works similar to this as Mary Shelley.” Of course, the algorithm is slightly different from the one used to detect spam, because it takes into account more stylistic features of the text, such as the number of words in sentences, the number of commas, semicolons, and whether the sentence is a direct speech or a quotation.

Bayesian filters I’ve seen given an item a score to how likely an item is something. I would like to see the strength of the scores, including distributions, and comparison of a given result to other close results. Guess I am just someone who wants to know why?


Related posts

« Older entries