- Scholars Seek Better Ways to Track Impact Online
- Mind your language: How linguistic software helps companies catch crooks – The newish trend of analytics in education is from increasing government scrutiny. One might start looking for signs students will attempt to cheat? As it is, the lack of looking for them boasting about cheating is a major gap.
- Teller Reveals His Secrets: The smaller, quieter half of the magician duo Penn & Teller writes about how magicians manipulate the human mind -
- “You will be fooled by a trick if it involves more time, money and practice than you (or any other sane onlooker) would be willing to invest.”
- Great Title, Flawed Post – Khan Academy Enables Out-of-the-Box Approaches
You are currently browsing articles tagged software.
Maybe this is why I do not work in sales. Maybe this is why I should never go into management.
Bragging about a potential customer selecting my product or service over another seems like a really stupid thing to do. The potential customer announcing the selection of something over another is okay to me. The provider smacks of arrogance. You were the least worst option. The fewest number of people hated your software. That is not something to brag about to everyone. It sounds bad to open say the product was the least worst and plenty of users hate it, so it gets couched in terms that make it sound like the customer will work with the providers to improve it. Everyone should understand nothing is going to really improve. This is just empty platitudes so screwed people feel not so bad about it.
Maybe I need to stop following some corporate lackeys on social media so this kind of thing stops annoying me. Oh, wait, we do it too.
Humans are fallible. Humans write the code. Therefore, there will be bugs in the code.
But that is okay.
Humans are smart. Humans can try new ways of working with the software until they find the way the programmer intended it to work.
… Or they hire people like me to help them.
So it is all good.
This Linux tool is my new best friend. We get thousands of XML files from our clients for loading user, class, and enrollment information. Some of these clients customize our software or write their own software for generating the XML.
This means we frequently get oddities in the files which cause problems. Thankfully I am not the person who has to verify these files are good. I just get to answer the questions that person has about why a particular file failed to load.
The CE/Vista import process will stop if its validator finds invalid XML. Unfortunately, the error “An exception occurred while obtaining error messages. See webct.log” doesn’t sound like invalid XML.
Usage is pretty simple:
xmllint –valid /path/to/file.xml | head
- If the file is valid, then the whole file is in the output.
- If there are warnings, then they precede the whole file.
- If there are errors, then only the errors are displayed.
I use head here because our files can be up to 15MB, so this prevents the whole file from going on the screen for the first two situations.
I discovered this in researching how to handle the first situation below. It came up again today. So this has been useful to catch errors in the client supplied files where the file failed to load.
1: parser error : XML declaration allowed only at the start of the document
 <?xml version=”1.0″ encoding=”UTF-8″?>162: parser error : EntityRef: expecting ‘;’
<long>College of Engineering &; CIS</long>
(Bolded the errors.) The number before the colon is the line number. The carat it uses to indicate where on the line an error occurred isn’t accurate, so I ignore it.
My hope is to get this integrated into our processes to validate these files before they are loaded and save ourselves headaches the next morning.
I noticed one the nodes in a development cluster was down. So I started it again. The second start failed, so I ended up looking at logs to figure out why. The error in the WebCTServer.000000000.log said:
weblogic.diagnostics.lifecycle.DiagnosticComponentLifecycleException: weblogic.store.PersistentStoreException: java.io.IOException: [Store:280036]Missing the file store file “WLS_DIAGNOSTICS000001.DAT” in the directory “$VISTAHOME/./servers/$NODENAME/data/store/diagnostics”
So I looked to see if the file was there. It wasn’t.
I tried touching a file at the right location and starting it. Another failed start with a new error:
There was an error while reading from the log file.
So I tried copying to WLS_DIAGNOSTICS000002.DAT to WLS_DIAGNOSTICS000001.DAT and starting again. This got me a successful startup. Examination of the WLS files revealed the the 0 and 1 files have updated time stamps while the 2 file hasn’t changed since the first occurance of the error.
That suggests to me Weblogic is unaware of the 2 file and only aware of the 0 and 1 files. Weird.
At least I tricked the software into running again.
Some interesting discussion about these files.
- Apparently I could have just renamed the files. CONFIRMED
- The files capture JDBC diagnostic data. Maybe I need to look at the JDBC pool settings. DONE (See comment below)
- Apparently these files grow and add a new file when it reaches 2GB. Sounds to me like we should purge these files like we do logs. CONFIRMED
- There was a bug in a similar version causing these to be on by default.
Guess that gives me some work for tomorrow.
I missed the story about brothers convicted of harvesting emails the first time. Well, I noticed a followup.
Back around 2001, the CIO received complaints about performance for the web server. So, I went log trolling to see what the web server was doing. A single IP dominated the HTTP requests. This one IP passed various last names into the email directory. Some quick research revealed Apache could block requests from that IP. That calmed things down enough for me to identify the owner of the IP. The CIO then bullied the ISP to provide contact information for the company involved.
Previous little adventures like this landed me a permanent job, so I jumped at similar challenges.
Well, a few years later, it happened again. This time my boss had made me develop a script for the dissemination of the anti-virus software package to home users. Basically, it used email authentication for verification if someone could get the download link. So, I applied the same technique to the email directory. Well, this upset some people who legitimately needed email addresses. So the human workers would provide email addresses to people with a legitimate need.
I’m glad since I’ve left, VSU no longer looks up email addresses for people. (I thought some of the requests questionable.) Also, my little email authentication script was before LDAP was available to the university. I think the new solution much better.
One the more vocal complainers about my having stopped non-VSU access to the email directory was my current employer. We apparently list email addresses for employees freely. Which makes me wonder how much spam we get is due to the brothers described at the beginning of this story? Or other email harvesters? Just hitting the send button potentially exposes the email address.
No worries. I’m sure Glenn is protecting me.


Most Commented