Toward Serious Debugging

At some point you may want to know about why something is stuck, whether it’s your own code or someone else’s. Print statements, command lines and logging are fine when you need them but only if you are writing your own code. More is possible. The higher level strace and lower level gdb are good tools to use when something is stuck. While dtrace or SystemTap are certainly amazing and powerful, reaching inside a live kernel, few people want or need that much power.

What are your experiences using these tools?

We meet at Bobby G’s Pizzeria on the second and fourth Sundays of each month from Noon to 3PM in Berkeley near the Downtown Berkeley BART station. Bobby G’s is on University Ave near Shattuck Ave. We hope you join us, join the discussion on our email list and/or join us in #berkeleylug on freenode.net by following the tabs at the top.

grep

There are certain things sysadmins rely on a lot. If they break it’s really not good. For me, the grep tool is one of them, so I was surprised to find inconsistent results. Based on otherwise good advice I was trying to use grep -i '[p]rocess' to look for running processes. When it didn’t work correctly I discovered related bugs 28981 (includes a good test case) and 36567 so that for us in our environment grep fails when:

  • trying to match upper case data (lower case matched ok)
  • using dash i for case insensitive
  • using square brackets as above
  • LANG was set with UTF8

Evidently this has been a problem for a while. Though fixed upstream the fix hasn’t made it’s way to all production Linux environments, making the use of this common trick a bit risky in production.

What other problems have you encountered that you choose to code around?

We meet at Bobby G’s Pizzeria on the second and fourth Sundays of each month from Noon to 3PM in Berkeley near the Downtown Berkeley BART station. Bobby G’s is on University Ave near Shattuck Ave. We hope you join us, join the discussion on our email list and/or join us in #berkeleylug on freenode.net by following the tabs at the top.

Design Principles as a UX tool: Part 1

I found a great article from voctorops on the principles of design. This is part 1 in a series. What do you think?

We meet at Bobby G’s Pizzeria on the second and fourth Sundays of each month from Noon to 3PM in Berkeley near the Downtown Berkeley BART station. Bobby G’s is on University Ave near Shattuck Ave. We hope you join us, join the discussion on our email list and/or join us in #berkeleylug on freenode.net by following the tabs at the top.

Trusting Open Source – Security & Reliability

Lots to say here. We know that many eyes make bugs shallow. Reliable, available, scalable systems can not get very far if they are not secure and results are not repeatable. President Obama visited Stanford this week. He was specifically focusing on student data privacy but the same issues apply to every web user. He was encouraging the private sector to work with government to find solutions. I hope the comments section facilitates a good discussion.

We meet at Bobby G’s Pizzeria on the second and fourth Sundays of each month from Noon to 3PM in Berkeley near the Downtown Berkeley BART station. Bobby G’s is on University Ave near Shattuck Ave. We hope you join us, join the discussion on our email list and/or join us in #berkeleylug on freenode.net by following the tabs at the top.

jquery newsticker

I recently implemented jquery newsticker for an intranet site. It is developed on github. It claims to be a "lightweight and easy to use news ticker" and I think they have done a good job. Has anyone else implemented a ticker?

We meet at Bobby G’s Pizzeria on the second and fourth Sundays of each month from Noon to 3PM in Berkeley near the Downtown Berkeley BART station. Bobby G’s is on University Ave near Shattuck Ave. We hope you join us, join the discussion on our email list and/or join us in #berkeleylug on freenode.net by following the tabs at the top.

SDR for $15

At the meeting today several of us Amateur Radio people found an inexpensive 25MHz-1700MHz software defined radio receiver an extremely cool development. This wasn’t possible at this price in a consumer product until recently.

We meet at Bobby G’s Pizzeria on the second and fourth Sundays of each month from Noon to 3PM in Berkeley near the Downtown Berkeley BART station. Bobby G’s is on University Ave near Shattuck Ave. We hope you join us, join the discussion on our email list and/or join us in #berkeleylug on freenode.net by following the tabs at the top.

anyenv

Does anyone have experience using anyenv? How did it go?

TLDR version: In updating our meetings page for the new year I needed the Date::Calc perl module to run Michael’s great code. Turns out my perlbrew environment for perl was broken. I spoke to some folks in #perl on freenode.net and got some good advice. I was getting some strange errors but as I described on StackOverflow I solved the problem by re-installing 5.20.1 using perlbrew.pl.

However another related perlbrew tagged question with an upvoted answer pointed me to anyenv.

So, ruby users use rbenv to install ruby versions. Perlbrew is used for perl. anyenv is a wrapper that handles ruby, perl and other languages. As a lazy sysadmin this looks like a nice way to install these environments if it delivers on it’s promise. The dependency modules for each language must be written well and it needs to be secure. At least one reviewer liked it. Openhub’s review says it has low activity. Do you have any experiences with anyenv? How did it go?

We meet at Bobby G’s Pizzeria on the second and fourth Sundays of each month from Noon to 3PM in Berkeley near the Downtown Berkeley BART station. Bobby G’s is on University Ave near Shattuck Ave. We hope you join us, join the discussion on our email list and/or join us in #berkeleylug on freenode.net by following the tabs at the top.