A Django site.
May 11, 2008

John Anderson
sontek
sontek ( John M. Anderson )
» Python with a modular IDE (Vim)

On Thursday, May 9th, 2008 the Utah Python User Group decided to settle the debate that has plagued us developers since the beginning of time: If you were a programming language, what editor would you use?

I was tasked with showing Eclipse with the PyDev plugin in all its glory–but we all know–real men / developers don’t use IDE’s, so we are going to talk about using Python and Vim together, reaching a state of Zen that the Dalai LLama would be jealous of and establishing more Feng Shui than Martha Stewart’s Kitchen.

Freely jump between your code and python class libraries

There are 2 ways to add your ability to jump between python class libraries, the first is to setup vim to know where the Python libs are so you can use ‘gf’ to get to them (gf is goto file). You can do this by adding this snippet to your .vimrc:

python << EOF
import os
import sys
import vim
for p in sys.path:
    if os.path.isdir(p):
        vim.command(r"set path+=%s" % (p.replace(" ", r"\ ")))
EOF

With that snippet you will be able to go to your import statements and hit ‘gf’ on one of them and it’ll jump you to that file.

Continuing accessibility of the Python class libraries we are going to want to use ctags to generate an index of all the code for vim to reference:

$ ctags -R -f ~/.vim/tags/python.ctags /usr/lib/python2.5/

and then in your .vimrc

set tags+=$HOME/.vim/tags/python.ctags

This will give you the ability to use CTRL+] to jump to the method/property under your cursor in the system libraries and CTRL+T to jump back to your source code.

I also have 2 tweaks in my .vimrc so you can use CTRL+LeftArrow and CTRL+RightArrow to move between the files with more natural key bindings.

map <silent><C-Left> <C-T>
map <silent><C-Right> <C-]>

You can also see all the tags you’ve been to with “:tags”

Code Completion

To enable code completion support for Python in Vim you should be able to add the following line to your .vimrc:

autocmd FileType python set omnifunc=pythoncomplete#Complete

but this relies on the fact that your distro compiled python support into vim (which they should!).

Then all you have to do to use your code completion is hit the unnatural, wrist breaking, keystrokes CTRL+X, CTRL+O. I’ve re-bound the code completion to CTRL+Space since we are making vim an IDE! Add this command to your .vimrc to get the better keybinding:

inoremap <Nul> <C-x><C-o>

Along with code completion, you will also have call tip support. Here is a screenshot:

Vim with Code Completion
Documentation

No IDE is complete without the ability to access the class libraries documentation! You’ll need to grab this vim plugin. This gives you the ability to type :Pydoc os.path or use the keystrokes <Leader>pw and <Leader>pW to search for the item under the cursor. (Vim’s default <Leader> is “\”). Here is a screenshot:

Vim with PyDoc integration

Syntax Checking

Vim already has built in syntax highlighting for python but I have a small tweak to vim to give you notifications of small syntax errors like forgetting a colon after a for loop. Create a file called ~/.vim/syntax/python.vim and add the following into it:

syn match pythonError "^\s*def\s\+\w\+(.*)\s*$" display
syn match pythonError "^\s*class\s\+\w\+(.*)\s*$" display
syn match pythonError "^\s*for\s.*[^:]$” display
syn match pythonError “^\s*except\s*$” display
syn match pythonError “^\s*finally\s*$” display
syn match pythonError “^\s*try\s*$” display
syn match pythonError “^\s*else\s*$” display
syn match pythonError “^\s*else\s*[^:].*” display
syn match pythonError “^\s*if\s.*[^\:]$” display
syn match pythonError “^\s*except\s.*[^\:]$” display
syn match pythonError “[;]$” display
syn keyword pythonError         do

Now that you have the basics covered, lets get more complicated checking added. Add these 2 lines to your .vimrc so you can type :make and get a list of syntax errors:

autocmd BufRead *.py set makeprg=python\ -c\ \"import\ py_compile,sys;\ sys.stderr=sys.stdout;\ py_compile.compile(r'%')\"
autocmd BufRead *.py set efm=%C\ %.%#,%A\ \ File\ \"%f\"\\,\ line\ %l%.%#,%Z%[%^\ ]%\\@=%m

You will have the ability to to type :cn and :cp to move around the error list. You can also type :clist to see all the errors, and finally, sometimes you will want to check the syntax of small chunks of code, so we’ll add the ability to execute visually selected lines of code, add this snippet to your .vimrc:

python << EOL
import vim
def EvaluateCurrentRange():
eval(compile('\n'.join(vim.current.range),'','exec'),globals())
EOL
map <C-h> :py EvaluateCurrentRange()

Now you will be able to visually select a method/class and execute it by hitting “Ctrl+h”.

Browsing the source

Moving around the source code is an important feature in most IDE’s with their project explorers, so to get that type of functionality in vim we grab the Tag List plugin. This will give you the ability to view all opened buffers easily and jump to certain method calls in those buffers. Here is a screenshot of it in action:

Vim TagList Plugin

The other must-have feature of an IDE when browsing code is being able to open up multiple files in tabs. To do this you type :tabnew to open up a file in a new tab and than :tabn and :tabp to move around the tabs. Add these to lines to your .vimrc to be able to move between the tabs with ALT+LeftArrow and ALT+RightArrow:


map <silent><A-Right> :tabnext<CR>
map <silent>&ltA-Left> :tabprevious<CR>

Debugging

To add debugging support into vim, we use the pdb module. Add this to your ~/.vim/ftplugin/python.vim to have the ability to quickly add break points and clear them out when you are done debugging:

python << EOF
def SetBreakpoint():
import re
nLine = int( vim.eval( 'line(".")'))

strLine = vim.current.line
strWhite = re.search( ‘^(\s*)’, strLine).group(1)

vim.current.buffer.append(
“%(space)spdb.set_trace() %(mark)s Breakpoint %(mark)s” %
{’space’:strWhite, ‘mark’: ‘#’ * 30}, nLine - 1)

for strLine in vim.current.buffer:
if strLine == “import pdb”:
break
else:
vim.current.buffer.append( ‘import pdb’, 0)
vim.command( ‘normal j1′)

vim.command( ‘map <f7> :py SetBreakpoint()<cr>’)

def RemoveBreakpoints():
import re

nCurrentLine = int( vim.eval( ‘line(”.”)’))

nLines = []
nLine = 1
for strLine in vim.current.buffer:
if strLine == ‘import pdb’ or strLine.lstrip()[:15] == ‘pdb.set_trace()’:
nLines.append( nLine)
nLine += 1

nLines.reverse()

for nLine in nLines:
vim.command( ‘normal %dG’ % nLine)
vim.command( ‘normal dd’)
if nLine < nCurrentLine:
nCurrentLine -= 1

vim.command( ‘normal %dG’ % nCurrentLine)

vim.command( ‘map <s-f7> :py RemoveBreakpoints()<cr>’)
EOF

With that code you can now hit F7 and Shift-F7 to add/remove breakpoints. Then you just launch your application with !python % (percent being the current file, you can declare your main file here if its different).

Another tweak I use is to have my vim inside screen with a horizontal split, that way I can see the python interpreter and debug while still having vim there so I can easily fix my code. Here is a screenshot of that in action:

Vim with Screen

Snippets

A great time saver with stanard IDE’s is code snippets, so you can type a few key strokes and get a lot of code out of it. An example of this would be a django model, instead of typing out the complete declaration you could type ‘mmo<tab><tab>’ and have a skeleton of your model done for you. To do this in vim we grab the Snippets EMU plugin.

Check out a great screencast of snippetsEmu in action here

You can get my full setup here

Emacs

Here is a great post on how to do the same with Emacs.


Peter Abilla
no nic
shmula
» It’s the People also, not just the Tools

I spoke at a Lean Six Sigma conference last week, held in Chicago.  The conference was packed with Supply Chain, Logistics, Fulfillment, Manufacturing, Transportation, Healthcare, and Service executives.  

During the conference, I heard a lot of chest-beating, neutron-jack-welch type of comments and also a lot of focus and emphasis on the “tools” of Operational Excellence.  I truly found this part to be quite disappointing, given that the audience and speakers were mostly executives from large Fortune 500 companies.

I thought and expected that people knew better but that’s okay — this represents a challenge and opportunity to do good.

How has Lean Manufacturing and Six Sigma gotten to the point where it has forgotten its roots and become a subculture all in itself?  Lean Manufacturing hinges upon 2 pillars — (1) Respect for People and (2) Continuous Improvement.  Why do people focus on (2), but completely forget (1) Respect for People?

L.A.M.E

Mark coined the term L.A.M.E a while ago and I mostly agree with it.  One aspect I’d add is that the term ‘misguided’ also applies to an overfocus to one dimension of Lean and forgetting the other dimensions.  The ironic thing about this is that each dimension of Lean actually supports each other and WAS built from each other.  

Another thing as way of background: the work ‘Lean’ was a term coined by MIT’s International Motor Vehicle Program, led by Jim Womack.  The term was coined to explain how Toyota got by with “half of everything” — how they did so much with so little — fewer people, less space, less inventory, less effort, less safety incidences, less defects, and less capital investment and cash.  

I hear people use “Toyota Production System” and “Lean” separately.  In fact, during the conference I heard a number of people say things such as “We use Lean, Six Sigma, and The Toyota Production System.”  That’s like saying “I drink water, liquid, and H2O”.  

Not L.A.M.E

Toyota describes its system as a combination of (a) Philosophy, (b) Management, and (c) Technical.  Each was built upon the other and exist to support each other.  

For example, some people consider ‘Kaizen’ a tool, often referring to this as ‘Kaizen Blitz’ (which is really ‘Jishuken’, but people confuse the two), which is a team-based, rapid activity that explores a production line or problems in an operation, drive to root causes, and then brainstorm countermeasures to reduce or eliminate those root causes.  

What most folks forget is that ‘Kaizen’ was truly build upon the philosophy that “Toyota builds people and then cars” — that is, Kaizen came from the notion that the collective intelligence of your line workers is valuable and that people, if given the training and the chance, can truly do amazing things.  This is an example where the Technical came from Philosophy — the tools and methods used in Kaizen are supported and even stems from the Philosophy of ‘Respect for People’.     

Good Leadership versus Just Tools

I’d venture to say that if there is good, visionary leadership in place, then I’d take that over any ‘Tool’.  But, that is the elegance of the Toyota Way that most people don’t know, understand, or convienently forget: true Lean Manufacturing hinges upon building Leaders throughout the company — people who know and live the principles of Operational Excellence and also know how to apply the Tools that support those Principles.  

It is possible to implement a tool like Kaizen or suggestion boxes, but if your organization doesn’t respect people or if participative management is not valued, then your Kaizen activities will be mute and your suggestion boxes will be empty.

sidenote: here are a few articles on leadership –

  1. Overmanaged and Underled
  2. Colin Power on Leadership
  3. Team or Staff?
  4. Tipping-Point Leadership
  5. Abraham Lincoln on Leadership
  6. How to transform an Organization: Chime-in Before Buy-in

The Andon of Fear

andon cord, lean manufacturingHere’s another illustration of the subtle, but important difference between Respect for People and Tools.

An Andon is a cord that hangs on both sides of a production line.  It is to be ‘pulled’ when a problem happens on the line and, when pulled, the line stops.  The activity that ensues should be that the entire line of team on the segment of the line gathers, conducts root cause analysis (5-why’s), implements countermeasures, then the line start again.

Now, suppose your organization breeds fear in its people and that questioning the status quo is viewed as bad.  In this type of environment, implementing the ‘tool’ of an andon cord will not work.  The principles at play here are the following:

  1. Speak-up if you see a problem
  2. Don’t pass problems down the value chain
  3. Improve the way you work, the service, and the product
  4. There is an end-customer, but the person upstream from you is also your customer

If an organization doesn’t subscribe to these basic principles, then no matter how many Andon Cords are available at your company — nobody will pull them.

Emulating Gary Convis

Gary Convis was recently brought in to be the CEO of Dana Corporation (DAN), an $8.7 Billion manufacturer of auto parts. Convis is a 40 year veteran of the auto industry and a former executive at Toyota.  Dana Corporation is a struggling giant, currently in bankruptcy.  When asked what words of wisdom he has to impart to his new team members at Dana Corporation, he said this:

“manage as if you have no power”

For me, that statement elegantly summarizes the the essence of Lean Manufacturing: we teach people principles and the tools that support those principles, then we coach, teach, provide leadership, and trust them to do the right thing.  

+++++

Please find originally-written articles on Queueing Theory below:

For a few articles on Operations, lean and six sigma, please visit the links below:

ShareThis


Dave Smith
no nic
Dave Smith
» Stryker Air-to-Air Video

My good friend Cliff (a.k.a., Darth Elevator), strapped a digital video camera to his Slow Stick airplane this week and filmed me flying Randy's Stryker around. The video captures both the Stryker take off and landing, and lots of crazy stunts. After seeing myself fly it from this angle, I'm ...

May 10, 2008
» Compiz-Check and EnvyNG Configuration Tips : Ubuntu 8.04

I was looking at some of the most popular posts on my blog, as reported by my awstats installation, and I noticed that one of the most popular is a post outlining common keyboard shortcuts for Compiz-Fusion on Ubuntu 7.10.  Apparently everybody loves their eye-candy!

I thought, now that Ubuntu 8.04 “Hardy” is released, I’d update the basic configuration suggestions and hopefully help a few more of you get your bling-on.

The Compiz-Check Script

Recently I saw a post over at Forlong’s Blog releasing a script that will check your hardware in regards to Compiz support.  From the article:

Compiz-Check is a script to test if Compiz is able to run on your system/setup and if not, it will tell you the reason why.

If you’ve had issues with Compiz support in the past I’d suggest running this script and pay attention to the output towards reasons why it appears to be unsupported.  In some cases it is simply a matter of poor hardware.  In other cases its only a matter of software changes, and may help you get things going.

To download and run the script:

wget http://blogage.de/files/3729/download -O compiz-check

chmod +x compiz-check

./compiz-check

If everything comes out as “OK” you should be able to activate Compiz as seen in the Compiz configuration instructions.

Driver Support With Envy

Another very useful tool I’ve found is the Envy tool, which will install required non-free driver support for nvidia or ATI cards for you.  I’ll admit that I’ve only used this occasionally, considering I have intel graphics cards on my main laptops, but in the situations where I have needed it things have worked great.

If you are using Ubuntu 8.04 “Hardy” you can try the newer EnvyNG, which is available in the universe repository.  How to install EnvyNG on Ubuntu 8.04.

If you are still using a previous version of Ubuntu you can try the legacy version of Envy, instructions here.

Are there any other common tips that I’ve missed?  If you know of any other great resources for Compiz support tests, nvidia or ATI driver installation, or basic Compiz tweaks please comment and share with the rest of us.

Related


Phil Windley
pjw
Phil Windley's Technometria
» Final: 2008 Utah State Republican Convention

Greg Curtis and John
Valentine, House Speaker and Senate President
Greg Curtis and John Valentine, House Speaker and Senate President
(click to enlarge)

I'm at the Utah State Party Convention this morning. There are literally thousands of people here. Traffic was backed up off the exit ramp near UVU (where the convention is being held). The convention just opened at 10am, but even at 8am, the parking lots were full. People come early to pick up their credentials and wander the candidate booths.

I enjoyed wandering around and talking to a bunch of folks who I normally don't get to see. Lots of old friends and acquaintances here.

Chris Cannon running for Congress in the Third District
Chris Cannon running for Congress in the Third District
(click to enlarge)

We start with prayer, the flag ceremony, the pledge of allegiance, and the national anthem. Carmen Rasmusen Herbert sang the national anthem and it was very nice. She's married to Gary Herbert's (Lt Gov) son Bradley, for what it's worth.

The Utah Republican party has a set of banners up and buttons playing on the "i can" in "republican." "I can provide students an excellent education," "I can give my family a great life," and so on. Very clever and emphasizes the Republican ideal of self sufficiency.

Opening ceremony at the convention
Opening ceremony at the convention
(click to enlarge)

After the opening, we had a credentials report and adopted the rules and agenda for the convention. As usual, there was drama around Mike Ridgeway. Apparently Salt Lake county refused to seat him has a delegate and there was a motion to allow him to be seated at the State convention. It failed. I'm sure there will be more.

We've now moved to the district breakouts. District 3 stayed in the main hall, so I just sat still. The candidates I consider serious contenders in District 3 are Chris Cannon, the incumbent, David Leavitt, and Jason Chaffetz. There's also Joe Fergeson and Stone Fonua who haven't raised much money and haven't been heard from by delegates. They'll get their seven minutes of fame this morning. Fergeson is campaigning against the North American Union and Fonua is campaigning for something called "the Peacemaker."

Jason Chaffetz has raised around $70,000. David Leavitt raised twice that many and Chris Cannon has doubled Leavitt. Not surprising since Chris is the incumbent.

I'm torn between these three. I believe them all to be good men with Utah's best interest at heart. They aren't that far apart politically. I know Chris and Jason well. I've spoken to them several times over the course of the campaign. I don't know David Leavitt, but have tremendous respect for his brother Mike (current Secretary of HHS).

Change Congress

When I ran in my caucus meeting, I told the people there I'd base my vote for congressman on the basis of their support for Larry Lessig's Change Congress. I've had the opportunity to speak to both Chris and Jason about this and they were both supportive of two of the four pledges. Chris didn't think eliminating PAC money was practical, but was in favor of limiting all contributions to less than $300.

Why didn't I speak to David Leavitt about Change Congress? It's partly my fault: I went to only one event where he spoke. But it's partly his fault as well. He's been largely unavailable. Several attempts to get a message to him about Change Congress through his staff failed to elicit any response.

In fact, one of the things that's turned me off about Leavitt's campaign is that it's been much more impersonal than campaigns I'm used to. Lots of events to hear him speak and lots of literature, but not much personal contact. This morning for example, Chris and Jason were both at their booths (and I've got photos to prove it). Where was Leavitt? I don't know. I wandered around the entire center and didn't see him once.

I wasn't overly impressed with David Leavitt's speech. Some shouting at inopportune times. Jason gave a great speech, but his calling global warming a farce turned me off. Of course, I'm not sure Cannon or Leavitt feel much different. Both Cannon and Leavitt started their speeches with videos. Cannons was probably the best, but I liked that Chaffetz didn't have one. Cannon's speech was good: he talked about his background and how he got where he is.

Cannon is a supporter of eVerify, which I think is a big mistake. Of course, you can't find anyone who you agree with on everything--unless you're the candidate. That might not work either. I've known some candidates who I'm sure argued with themselves.

Time to vote!

I voted for Chris Cannon. I know some people will disagree with that vote so let me say why:

  • Chris was willing to support important aspects of the Change Congress pledges, including big support for transparency. He even took the time to meet personally with me on the pledge and talk about it.
  • Chris has been a good friend to technology. Many technologists in the state who I know and trust are firm supporters of Chris Cannon. I've talked to Chris several times about technology issues and he's well informed and thinks carefully about them.

Now we're listening to speeches for statewide office. The only interesting race is for Treasurer. Go figure.

Ballot boxes
Ballot boxes
(click to enlarge)

Gov. Huntsman spoke about his accomplishments. He made it clear he only intends to serve one more term (if he's elected, of course). Chuck Smith, running against Huntsman, gave a good speech and seems to have some good ideas, but he's not going to win. There's been no campaign to speak of.

Mark Walker is a former legislator with little experience in financial management. Richard Ellis is currently the Deputy Treasurer and a former directory of the Governors Office for Planning and Budget. But Ellis has been roundly criticized by the legislature and has little support there. I think it's more than Walker being "one of our own" with the legislature. I think Ellis has seriously made many of them mad with things he's said and done. Of course, I know how that feels. :-)

The Utah County Treasurer nominated Richard Ellis and said Ed Alter (current Treasurer had planned to do it, but was unavailable.) The nomination focused on Ellis' experience. Gordon Snow (Majority Whip) seconded the nomination. Ellis spoke about what he's done in the Treasurer's office: financial and technical innovation. Ellis gave a good speech.

Balloons waiting to fall above my head
Balloons waiting to fall above my head
(click to enlarge)

David Clark, Majority Leader, nominated Walker. He noted Walker's integrity. John Valentine (Senate President) seconded. Mark Shurtleff and Ron Bishop (1st District Congressman) also spoke for Walker. He emphasized more investment of public funds for larger returns. It's interesting that our conservative legislature supports a less conservative financial manager for treasurer. He emphasizes his private sector experience--although he doesn't get specific since he has no financial experience that I've heard about. He seems to be running largely on his Republican credentials.

Results: Merrill Cook, Bill Dew, and Brian Jenkins advanced to the run off ballot for District 2. In District three, David Leavitt received 220 votes, Jason Chaffetz received 469 votes, and Chris Cannon received 338 votes. They'll all go to the second ballot. The other two received almost no support, so unless people change their vote, I'd expect to see Jason and Chris go to a third ballot. We could be here all day...

The conventional wisdom is that a vote for Leavitt or Chaffetz is a vote against Cannon. But that's not the case. In fact, I saw Leavitt and Cannon talking in the hall and the word going around the floor is that Leavitt is asking his delegates to vote for Cannon. Of course, that won't keep the final outcome from going to a primary vote in June. In fact, it would take a huge swing either way to avoid that. Greg Curtis, Speaker of the House, predicted 55% Chaffetz, 45% Cannon. I think it might be closer than that.

I snagged a seat at the press table: power and a table to put my computer on. Sweet!

While we were waiting for the second ballot to be counted, Senators Hatch and Bennett spoke. Basically cheerleading for Republicans. That's OK--this is the right crowd for it to be sure. Hatch says: "I was a Mitt Romney supporter, but that's over. If you can't get behind McCain, you might as well turn the election over to Barack Obama. That would be a catastrophe for the judiciary." Hatch says McCain will appoint the right kind of judges and that alone is a good enough reason to support John McCain. Hatch gets a standing ovation. No doubt that the man is popular with this crowd.

Along with all of these are the usual controversies surrounding voting and credentialing procedures. Some older and disabled delegates had a tough time getting to the ballot boxes apparently.

A row of Macs at the press table
A row of Macs at the press table
(click to enlarge)

Attorney General Mark Shurtleff and State Auditor Auston Johnson were elected by acclamation since they're running unopposed. We watched a McCain video. Mark Shurtleff spoke after showing us a video. I presume it's been prepared for the general election. Shurtleff gave a god talk and got a standing ovation. Balloons dropped. Basically anything to fill the time while they count votes.

The bags filled with balloons were hung above the press table, so they all fell on the floor around the press and not on the delegates.

Argh. Now we're doing party constitution changes. What fun. In the middle of the second amendment, someone went down and there was a call for a medic. There was a division called on the second amendment to replace winner take all with proportional representation in future presidential primaries. The amendment failed.

There will be a third ballot for the 2nd and 3rd Districts. In the 3rd District, Leavitt got 161 votes, Chaffetz got 529 votes, and Cannon got 356 votes in the second round. That gives Chaffetz over 50%, but he needs 60% to avoid a runoff. That's 630 votes it everyone stuck around and will vote on the third ballot. He needs 100 of Leavitt's votes to win outright.

People in Leavitt shirts are walking through the hall carrying Cannon signs. They're getting boo'd and the Rules Chairman is asking them to leave since campaigns are not allowed to campaign in the convention hall itself.

I'm going to go get ready to vote. They're not going to open the ballot boxes until we've heard the Bylaw changes because they're afraid people might leave. Ya think!?!

Jason Chaffetz running for Congress in the Third District
Jason Chaffetz running for Congress in the Third District
(click to enlarge)

The first bylaw amendment is to allow the delegates that are bound to Mitt Romney to vote for McCain. People cheered wildly after the speech against the change. People here still love Romney. Someone made a motion to postpone he amendment indefinitely. Everyone really just wants to vote and go home, I think.

In the end, for the 3rd District, Jason Chaffetz came within 9 votes of being the nominee and not having have a primary with Chris Cannon on June 24th. The final tally was Chaffetz 59%, Cannon 41%. What a finish. I'll bet there's some Chaffetz supporters who went home early and are kicking themselves right now.

Tags: utah politics republican


John Kennedy
Dragon or KissotDragon
Jack of all Networks
» CEIC, and other ramblings

I missed CEIC this year, but a couple colleagues of mine were able to go. Both stated that it was an excellent conference. I hope to be able to go next year. At an ISSA meeting there was a gentleman from NetWitness who came in to give a vendor agnostic presentation about network forensics, which has always been a very interesting topic to me.

My colleague and I were very impressed with the product and thought that it would give us great leverage with trying to bring together behavior analysis, signature analysis, asset protection, governance and data leakage. This product rolls the behavior and signature analysis into one device and leaves the firewalls, antivirus, spam assasins and web filters out on the perimeter doing their thing. This device is passive and just sips the network logging every packet and then performs analysis and correlation on the data. What I liked about it is the fact that it will show you true context of your packets and data. It gives a impressive analysis on say a DNS packet that is using a non standard port. Or why this packet is behaving this way but based on all others like it, it should be behaving another way. If it looks like a duck and quacks like a duck, but doesn’t have feathers like a duck… it may not be a duck. The front-end was also very logical in flow and design and provided an easy incident response procedure process and methodology.

Now, at first I was comparing it to a UTM device knowing that they do not perform the same functionality, but kind of cross very loosely in their functions. I have since came to a realization it is like comparing apples to oranges. So I had to ask myself would I spend the money to have both a UTM and a TKND (Total Knowledge Network Device) deployed. Full TKNC (Total Knowledge Network Control) of your perimeter and internal network cannot be accomplished with only one device. The technology is not there yet. Now throwing in a TKND like NetWitness into the UTM umbrella is for me a waste of time and money. Call me a little old fashion, but the swiss army knife though handy, is still cumbersome when trying to get at each tool. I can’t help but think that a Management Console of some sort would be beneficial, but I am not sure having everything under one roof is the right approach.

When wading through neck deep information trying to pull out a needle in a haystack, I find that many are spending a lot of time wading through mounds of data trying to validate that there has been no data leakage or compromise of an important system or resource. The oh snap moment usually comes about a month later when an analyst finds something out of the ordinary and it snowballs into a data governance issue that suddenly feels like a David and Goliath moment. I am still on a quest to find or come up with the right TKND/UTM device. If anyone has any ideas they would like to share let me know.

Peace `||`/


Jesse Stay
obfuscated, Uncle_Jesse
Stay N' Alive » OSS
» Epic Ventures Sponsoring Food for the Utah Social Media Dev Garage

main_logo.pngProps to Rachel Strate, an Analyst from Epic Ventures (formerly Wasatch Ventures) who has offered to represent her Firm in providing food and drinks for the Social Media Developers Garage event on Tuesday. Rumor has it that they will be providing Pizza and drinks so come if anything for a free meal! The topic for the event will be a demonstration by Bungee on creating a Facebook App using their Google App Engine Killer, Bungee Connect. We’ll try to play some Wii afterwards as well.

Again, a big thanks to Epic Ventures for the food and Bungee Labs for hosting the event! If you would like to host or provide food for a future event (or even speak!) please let me know and we’ll make sure your company gets credit. This is a great opportunity for your company to get in front of a group of developers, bloggers and Social Media Evangelists for more exposure and future recruiting events.

Share This

May 9, 2008

Hans Fugal
no nic
The Fugue :
» Fixed Point for Sysadmins

In CS language theory we sometimes talk about fixed points. Everyone seems to have a bit of a hard time understanding what a fixed point is at first, and I thought of an interesting analogy just now that will make sense to sysadmins.

When you go to install foo, with apt-get install foo, apt will tell you all the dependencies it will install, and it will also tell you the recommendations and suggestions, then ask for your permission. You might decide to say no and repeat the command with one or more of the suggestions added. Then it will do the same, but now with the suggestions of the suggested packages as well. You might repeat a couple of times. Finally, you will be happy with the selection of packages you're going to install. You've found the fixed point.

Apt itself does the same thing when resolving dependencies. If you remember rpm-based distros before apt-alikes, you used to have to find the dependencies fixed point by yourself. We called this rpm hell for good reason.

So when you're finding a fixed point in math, you're doing a similar thing. You're repeatedly performing the operation until further operations don't change the answer. The fixed point of a function f(x) is x0 such that f(x0) = x0.


Phil Windley
pjw
Phil Windley's Technometria
» Doing CPAN Installs Using Capistrano

I've been trying to use Capistrano for application deployment over the last few days, writing rules to do some common tasks, figuring out how it works, etc. One problem I ran into is that I have a private CPAN bundle that I use to ensure a machine has all the right Perl libraries when I deploy to it.

The problem is that CPAN is often run interactively and so module writers often assume the user will be present. That means that it stops in the middle and asks questions about skipping tests, etc. I searched for a while to figure out how to get a default answer to questions. It's not Capistrano's job and CPAN didn't seem to have a configuration option that worked. Turns out it's in MakeMaker.

MakeMaker is the Perl library that the CPAN modules use to automate the build process. There's an environment variable called PERL_MM_USE_DEFAULT that when true causes the MakeMaker prompt function to assume the default answer.

So, here's the task from the capfile I came up with.

task :load_bundle, roles => :local do
     run "cd /web/lib/perl/etc/kynetx-private-bundle; 
          sudo perl -MCPAN -e 
             '$ENV{PERL_MM_USE_DEFAULT}=1;
              install Bundle::kobj_modules'"
end

This works fine. Of course, you also need to make sure the account you're using for installs can sudo without a password or this will fail as well. Maybe there's a better way to do sudo inside Capistrano? I'd like to know about it.

Tags: kynetx sysadmin ruby perl

» A Root Shell On Ubuntu : The Right Way

Just the other day we were having a discussion on using the root shell in Ubuntu.  Now, remember, the root user account is disabled with no assigned password on a default Ubuntu system so administrative tasks need to be done using the sudo command.  For nearly all of the administration you would need sudo will be adequate.  There are occasionally those fringe cases where you might require a root shell.  Below I have a few alternatives and then, if you must, the correct way of opening a root shell.

For more information please see the RootSudo page on the Ubuntu Community Wiki.

Alternatives To A Root Shell

One of the most common reasons that a user might need a root shell is due to output redirection not working as expecting while using sudo.  This can be bypassed fairly easily.  Let me outline an example:

sudo echo “foo” > /root/somefile

The above example will not work because the normal user does not have access to write to the root user home directory, and combining the redirection in the command we’ve lost sudo access.

An alternative that will work would look something like this:

echo "foo" | sudo tee /root/somefile

This will echo the output on the console but the tee command ('man tee‘ for more information) will also take that output and write it to the file as expected.  Also note that 'tee -a' will work in the same fashion as >>, appending the data to the current file vs overwriting.

The Proper Way To A Root Shell

If you still need a root shell (perhaps you’ve come across a different scenario? perhaps you’re just lazy? perhaps you’re coming from another distribution?) let me outline the proper way to gain a root shell.

DISCLAIMER: This should be avoided if at all possible.  It is not suggested to run a root shell on an Ubuntu system.  Use at your own risk.  See examples above, etc.

sudo -i

The command sudo -i is the equivalent to the 'su -' command.  This will properly change to the root user, switch to the root user’s home directory, use his (her?) environment values, etc.

sudo -s

The command sudo -s is the equivalent to the 'su' command.  This will change to the root user but will not properly use his (her?) environment values, etc.

The WRONG Way To A Root Shell

Please DO NOT use the following methods to gain root access:

sudo bash, sudo sh, sudo su -, sudo su, sudo -i -u root

If you currently do use these methods this post was written for you!

UPDATE: Based on the feedback in the comments for this post I’ll try to expand the reasoning on *why* the right way is the preferred way.

First of all we need to understand some background information.  When a user creates a session there are a number of environment values that are set.  To have a look at some of these try this command:

env

This will output a number of details about the current working environment.  These environment values may be different for different users.  Some of the values are generated by way of the .bashrc file (assuming a bash shell, of course), the .bash_profile, etc.  Take a look at the .bashrc in your users home directory and compare it with the .bashrc in root’s home directory.

diff -u ~/.bashrc /root/.bashrc

You should see some differences, and this is just from one of the multiple files that are read during a proper login.

When creating a root shell by using ‘sudo bash‘ you are not incorporating the root environment properly.  You are creating a shell with root privileges but the env output is still that of your user.  Each user, whether unprivileged or root, should have unique environment settings to truly be that user.  This will be the case for ‘sudo bash‘, ‘sudo su‘ and ‘sudo sh‘.

Random Posts


Joseph Hall
no nic
blog.josephhall.com
» Tinkering with Hotel Cheesecakes

I decided to play with my hotel cheesecakes again this week. This time I had some new equipment in my arsenal, and a couple of new ideas for proper cooking.

I've started carrying various cooking utensils with me. Most are either plastic or rubber, with the exception of my Oxo mini-whisk. I also have a small rubber spatula, some plastic measuring spoons, and a small stack of silicone muffin cups. Most of these were purchased with the intent of not getting into trouble with the TSA. The muffin cups were supposed to save me from having to buy new paper cups all the time. When I opened the package, I discovered they had the added bonus of being more stable, so that they don't collapse from the weight of their own filling when unsupported.

My last experiment involved using just the yolk, rather than a whole egg. This succeeded in lowering the water content which was making the batter too loose, but it unfortunately lowered it too much. The resulting cheesecakes bore more resemblance to over-cooked scrambled eggs. Obviously, I needed to loosen up the batter again. I had considered using heavy cream, but the idea of sour cream appealed to me. It's a common cheesecake ingredient which I had scarcely considered before. I was also short on sugar packets this trip, but had managed to pick up a tiny bottle of Kentucky honey at the Cincinnatti airport. Perhaps an invert sugar would help, as well as providing an interesting flavor profile.

I started with about a tablespoon of honey and 4 oz of softened cream cheese in a paper bowl. I mixed them together with the spatula, adding in about a tablespoon of sour cream. When it seemed liquid enough, I switched to the mini whisk and added the egg yolk. When it was nice and smooth, I poured it into two silicone muffin cups, foolishly ignoring the fill lines that the manufacturer had so graciously provided for me.

This microwave had a manual knob with no power control or turn carosel, so I knew I had to be careful. I cooked them in bursts of 15 to 20 seconds, manually switching their places with each burst. After 3 or 4 bursts I got brave and did a 30 second burst. The cheesecakes, which were undoubtedly slightly aerated from the whisking, had started to rise over the tops of the muffin cups. I put them in the hotel mini-fridge to cool and waited till morning.

The next morning's taste test revealed what I expected: an overcooked, grainy center. Interestingly, the outside was slightly undercooked, mostly silky smooth with the occassional graininess. This, I surmised, was because I hadn't given them time to cool properly by themselves. The shock of the icebox had stopped the carry-over cooking, and possibly forced some of the proteins to prematurly coagulate. The flavor was decent, but a little bitter from the honey. Also important, I noticed that even though I was nuking these at 100% power, the over-coagulation was not nearly as bad as with earlier attempts with lower power. I decided that the added mass (cooking two at once instead of just one) had a part to play here.

I had one more night to experiment with the other 4 oz. I added a tablespoon and a half to it, along with two packets of sugar to counter the slight bitterness of the honey. After mixing with the spatula, I added in two tablespoons of sour cream, mixed a little more, and then switched to the whisk. I added in my egg yolk, and just for kicks, a packet of True Lemon powder. Honey lemon is a pretty classic flavor profile, right?

Because of the extra sour cream, I had enough batter to fill three muffin cups right to their fill lines. I hoped the extra mass would help even more, but I had another trick up my sleeve. I added a cup of ice water to the center of the microwave, and placed the filled muffin cups in a triangle around it. Water has a very high specific heat, meaning it has to absorb a lot of energy just to raise it even one degree farenheight. My hope was that ice water would absorb even more of the microwaves in the oven, effectively limiting the power attacking the water molecules inside the cheesecake. I was careful not to overfill the water cup, just in case it absorbed enough energy to actually boil.

I went with 20 to 25 second bursts this time, each time rotating the cups with each other manually counter-clockwise one position. It took 6 or 7 bursts before I noticed that the centers of the cheesecakes had sunken in slightly, and the sides were starting to climb the muffin cups. They were overdone, I just didn't know by how much. I let them cool for about 45 minutes by themselves and then moved them to the mini-fridge.

In the morning, I tried all three. They all ended up pretty much the same, just slightly overcooked and grainy in the center, but almost perfectly cooked on the outside. I'm thinking that had I ditched the last burst of cooking time, they might have been perfect. The flavor was better, not too sweet, but not bitter either. I wish I had added a second packet of True Lemon. There was a slight hint, and I think just a little more and the flavor would be perfect. I noticed something else interesting though. The edges of the cheesecakes seemed to have pulled slightly away from the cups, and from the looks of it, I'm wondering if it's not because of steam from the cup. Would hot water have been a better way to go about it? How about a cup of hot water in the center to provide steam, and a couple of cups of ice water elsewhere to soak up excess energy?

I'm a few steps closer to hotel cheesecake perfection. Extracting the first two cheesecakes from their cups was a pain because of how rigid the cups were. I had already decided to try putting paper cups inside the silicone ones next trip, but now I'm reconsidering. Perhaps if I swiped some pats of butter from the breakfast bar, and brought a small brush with me to paint it to the sides of the cups. Since I'll be using butter for the crust after I get the filling figured out anyway, maybe it's not too far of a stretch.

From what I hear, my next class is tentatively scheduled in Toronto. Will Canadian cream cheese behave differently? They do have cream cheese, don't they? Will I even have a microwave in my hotel room? Or will I be so totally entranced with Toronto that I don't even bother with hotel cookery? Only time will tell.


Steve Dibb
beandog
wonkablog
» cartoon covers: batman, the animated series, season two

I’ve been watching some Batman recently, and just barely ripped season two on my myth box. I made snapshots of the title screens of every one, and put them in the cartoon gallery.

I absolutely love all the artwork on all the original Batman cartoons. There’s actually a book dedicated to the artwork of the series, called Batman Animated. I’d love to get a copy someday.

I keep resizing these images to 360×270, which is 50% the original size, and of course is more than large enough for my TV, but on the website, it sure seems a bit lacking sometimes. Next time I think I’ll leave them at the original dimensions. I also think I should probably get a flickr account and put them up there, so that they just don’t sit on my obscure little website for people to randomly find.

Great stuff.


Phil Windley
pjw
Phil Windley's Technometria
» VC Meetings Next Thursday

I'm going to be in the Bay Area next Thursday (May 15) with the day free and would love to get a few meetings with venture firms who might be interested in hearing about what we're doing with Kynetx. I don't know many VC's in the Bay area well, so if you wouldn't mind doing an intro to your favorite Bay Area VC, contact me.

Tags: kynetx


Kevin Kubasik
nonic
For Once I Oneder
» Utah Python Users Group

If your in the greater Salt Lake area and love python swing by the meeting this evening! We’re doing a python editor head-to-head, should be fun!

May 8, 2008

Jeremy Robb
scothoser
Scothoser's Corner
» Teaching Ad: Need a vi Editor and Shell Scripting Instructor

This summer, we had an instructor cancel on us for three classes we had scheduled.  Unfortunately, we don’t have the staff to cover these classes, so we are looking for a contract instructor that would be interested in teaching these classes, non-credit, for students should they register.  If you are interested or curious, please contact Inita Lyon at 801-585-1964 for details.  

vi Editor
The first class is the vi Editor class.  It’s scheduled for June 18th, from 9:00 AM to 5:00 PM.  

Shell Scripting Level 1
An introduction to shell scripting taught in the evening, scheduled for June 3rd and June 5th from 6:00 PM to 9:30 PM.

Shell Scripting Level 2
Also an evening class, taught June 17th and 19th from 6:00 PM to 9:30 PM.  

If anyone is interested in teaching these classes, please let us know as soon as possible.  Inita will be happy to answer any questions, give you an idea as to how the class should be structured, and which books are being used.  

Thanks in advance for anyone who signs up! 


=Utah Open Source=
Utah Open Source
The Utah Open Source Foundation
» PLUG May Meeting - MySQL

Date: May 14th, 2008
Time: 7:30 PM - 9:30 PM
Location: Omniture, Inc.
Details: http://www.plug.org/

MySQL will be flying Jay Pipes (North American Community Relations Manager at
MySQL) in to Salt Lake on the 14th for the sole purpose of addressing PLUG
(and all other local SIGs). Please spread the word. Set your calendars. Blog
it. Spread it. Tell everyone.

To be clear: THIS WILL BE AN IN-DEPTH TECHNICAL PRESENTATION. Expect this to
be one of those killer, mind-bending, and deep technical presentations. The
kind that leaves you barley able to drive home. Jay will keep the presentation
as language agnostic as possible - and focus just on the SQL-fu Jay
specializes in. This is one presentation you don’t want to miss.

There will be prizes (books and MySQL swag). And we will have drinks. There
might be food, but don’t plan on it.

His bio:

Jay Pipes is the North American Community Relations Manager at MySQL.
Co-author of Pro MySQL (Apress, 2005), Jay has also written articles for Linux
Magazine and regularly assists software developers in identifying how to make
the most effective use of MySQL. He has given sessions on performance tuning
at the MySQL Users Conference, RedHat Summit, NY PHP Conference, OSCON, and
Ohio LinuxFest, amongst others. He lives in Columbus, Ohio, with his wife,
Julie, and his four animals. In his abundant free time, when not being
pestered by his two needy cats and two noisy dogs, he daydreams in PHP code
and ponders the ramifications of __clone().

-Ryan

— Books we have to give away:
- A book regarding Fedora.
- A “Head First” book from O’Reilly on SQL.
- Several very excellent “Pragmatic Programmers” books:
- Programming Ruby (very good)
- Java to Ruby
- Enterprise Integration with Ruby
- Agile Web Development with Rails
- Agile Retrospectives
- Practices of an Agile Developer


Phil Windley
pjw
Phil Windley's Technometria
» New IT Conversations Design

IT Conversations redesign!
IT Conversations redesign!
(click to enlarge)

Doug Kaye has been working for months to redesign the infrastructure for the Conversations Network, including It Conversations. Much of that work hasn't been visible to IT Conversations listeners, but it's made the management of the network and production of shows much nicer. Now, that hard work is showing on the site as well with today's launch of the new IT Conversations.

The new design is cleaner, brings lots of features, like ratings and playlists, out to the homepage, and automates things like "current series" and "topics" so that they're more up to date. Ratings are also more reliable in the new system--I'm already seeing more meaningful ratings data come through. The old Personal Program Queue has been updated and is now called a Personal Playlist (under "My Programs" on the top menu bar).

With all the great changes to the homepage, you might be tempted to stay right there, but take time to click through to the program detail pages. They've also been reworked with better ways to comment and share programs with your friends. Also, the new recommendation box on the right hand side shows other programs you might like.

As with any launch, there will undoubtedly be things that don't work. Be sure to let us know and we'll try to get things fixed as soon as we find out about them.

Tags: itconversations


Steve Dibb
beandog
wonkablog
» more stomach problems

I went to the doctor again a few days ago, this time just to a clinic, because I’d been having problems with my stomach since the past week. The whole scenario strikes me as really odd, since none of the symptoms that would cause problems have been present, which are usually stress and me eating crappy food. Ever since I was in the hospital three weeks ago for throwing up for four hours straight, I’ve been keeping a closer eye than ever on my intake. This just kind of came out of the blue, though, with some acid reflux showing up all of a sudden for a few days.

The only thing that I have any idea that might be causing it is that since it’s finally started to get warm over here, I’ve started up my nightly regimen of going skating every night that I can, usually for somewhere between 30 minutes to 3 hours. I imagine that the stress on my stomach muscles was probably unexpected and just kind of threw it for a loop.

It didn’t help much that the doctor at the clinic was pretty impatient, and I didn’t feel like he was really giving me proper attention. He gave me a prescription for Prilosec, which also kind of annoyed me since I could have gotten that myself. I tried it out and it made me really dizzy, so I’m not going with that one again.

I’m trying to setup an appointment with a specialist to figure out what the story is once and for all. I know that a few years ago I was diagnosed with *starting* to get a peptic ulcer, and in times of extreme stress and anxiety the same area in my stomach will start to flare up again and cause some general discomfort … or I’ll start throwing up. I haven’t had any major stress though, not since the hospital incident, but there is just some minor nagging down there. For now, I’ve just come to the conclusion that I have a sensitive stomach.

I’ve started looking at diets for people with acid reflux, and so far the lists seem kind of arbitrary of what you can and can’t eat, in the sense that none of them seem related. The idea of a restrictive diet always seemed normal to me, but I always assumed it would just be to stay away from anything strong or spicy. Not something random like mashed potatoes, butter cookies and ice cream. But, whatever. Hopefully I’ll get this thing figured out soon.


Dan Hanks
orbit
Brainshed Blog
» I love a good roadtrip

When I was a young boy my parents owned a bus touring agency ("Hanks Tours"). They would load up a bus full of senior citizens and drive around the country for 2-3 weeks at a time, stopping at prominent landmarks along the way. On certain occasions I got to tag along as a bag boy (the poor kid who got to haul all the luggage from the bus to each hotel room). Because of this I was able to visit many of the United States and a handful of the Canadian provinces. As a kid I was able to visit Disneyland, the Redwood Forest, the Calgary Stampede, Alaskan glaciers, the Gateway Arch, Disney World, NASA, a World's Fair (Louisiana Expo), Washington D.C., Niagra Falls, Mt. Rushmore, Gettysburg, and many more interesting spots. One tour took us to Egypt and Israel.

Perhaps it was these tours that instilled in me a great love for a good roadtrip. Packing up the car and heading down the Interstate still gives me a bit of a thrill. I love to see new places, and half of the fun is stopping at odd, out-of-the-way (though interesting) spots like Wall Drug, and the Mitchell Corn Palace.

Today KSL.com ran a story about 3 guys from Utah who set out to travel to the 48 states in the span of just 100 hours. You can read about their adventure at The Great American roadtrip. Makes me want to pack up and try it myself.

Comments

» I love a good roadtrip

When I was a young boy my parents owned a bus touring agency ("Hanks Tours"). They would load up a bus full of senior citizens and drive around the country for 2-3 weeks at a time, stopping at prominent landmarks along the way. On certain occasions I got to tag along as a bag boy (the poor kid who got to haul all the luggage from the bus to each hotel room). Because of this I was able to visit many of the United States and a handful of the Canadian provinces. As a kid I was able to visit Disneyland, the Redwood Forest, the Calgary Stampede, Alaskan glaciers, the Gateway Arch, Disney World, NASA, a World's Fair (Louisiana Expo), Washington D.C., Niagra Falls, Mt. Rushmore, Gettysburg, and many more interesting spots. One tour took us to Egypt and Israel.

Perhaps it was these tours that instilled in me a great love for a good roadtrip. Packing up the car and heading down the Interstate still gives me a bit of a thrill. I love to see new places, and half of the fun is stopping at odd, out-of-the-way (though interesting) spots like Wall Drug, and the Mitchell Corn Palace.

Today KSL.com ran a story about 3 guys from Utah who set out to travel to the 48 states in the span of just 100 hours. You can read about their adventure at The Great American roadtrip. Makes me want to pack up and try it myself.

Comments


Jesse Stay
obfuscated, Uncle_Jesse
Stay N' Alive » OSS
» Facebook Announces Developer Integration Points to New Design, New “Publisher” Feature

n21073243776_369793_836.pngWhile still vague in regards to details, Facebook today released some important information regarding their new design that is sure to excite those users that are considering leaving for other networks. The first of such features seems to be a slap in the Face (and maybe a token from former Google Execs) to Google Employee-founded FriendFeed. Facebook is calling the feature, “Publisher”, and from the Developer Wiki,

“The Publisher will be a central focus of communication and sharing in the new profile. It sits right on top of a user’s Feed inviting the user or others to add content. Applications can integrate into the Publisher to provide rich experiences for creating or finding content to post into their own and their friends’ Feeds…

This has replaced the old Wall Attachments feature. Now, Wall is just one type of application for creating content (text content), on par with posting links, or uploading photos or videos. For example, to add a video with the Video application, the user no longer creates a Wall attachment and adds the video. Instead, the user posts a video to a friend’s Feed just as if she were writing a Wall post.”

From the screenshots (to the left), it appears as though you can also comment on each posted item, further encouraging a “conversation” amongst members of the Facebook community. What’s most interesting is the integration with the Facebook Platform API and ability for developers to present items for discussion within a particular user’s Feed. It appears as though your applications will be able to actually utilize the text box within the publisher to present information on a user’s feed in different ways. More information regarding the new combined Feed/Wall can be found here.

Also very interesting is it seems as though Facebook will soon allow, via the publisher, the automatic playing of Flash, and onload events within FBJS. It seems this is Facebook’s answer to the demand from users migrating from Myspace and the competition from Bebo who allows such onload events.

In addition to the publisher, Facebook has released more information via their developers wiki about the Tabs that will be available, and how applications will be displayed via those tabs. It appears as though at first, all applications will be rendered in their current form in a tab called “boxes” (they mentioned earlier today that name may be temporary). What’s new though is it seems as though your application will be able to give the user options to render other forms of profile boxes to an “Info” tab on the user’s profile. It’s unclear, but this could mean your application will be able to have multiple forms of displaying itself within the user experience beyond just Canvas pages, profile boxes, and feeds. A new FBML tag has been created for this purpose called “<fb:add-section-button/>” which appears to give your application the ability to have the user add a “section” to their profile. (I now need to update FBML Essentials!) Such section will have the ability to display image objects or text that the user can type and provide to your application.

Facebook is also allowing your applications to register an “Application Tab URL” which will have your Application appear in a list of applications next to a “+” (plus) sign in the list of tabs. The user will then have the option to add your Application as a tab, offering an alternate canvas view of your application for the user’s friends to see.

Beyond the Info and Boxes tabs, it’s a bit unclear as to what the other tabs will be called. The most recent screenshot by them includes a “Photos”, “Wall”, and “Feed” tab, but it seems as though the Wall and Feed may be combined to produce the “Publisher”. It could be that the current “News Feed” will be under the Feed tab, while the combined Mini-Feed and Wall will be under the Wall tab. I’m sure we’ll see more screenshots soon. Also of note is that the Action items, the links below your profile image currently, will be no more. Instead you’ll be able to offer your users interactivity via the publisher and other integration points throughout the user’s profile.

It also seems as though the separate News Feed/profile is no more when you log in. It seems they are bringing the focus on the profile and including what is now the “News Feed” to become what will be the “Feed” tab. I like this new concept and hope it catches on - I think it will be a win-win for both Facebook, users, and developers in that it will bring a more fluid experience to users, and encourage discussion and people more than anything else.

With the release of this information to the developers wiki it seems Facebook is on the verge of releasing the new design very soon. I would expect to see such features in the next week or two, considering it was originally supposed to launch last month.

UPDATE: Facebook just released their official announcement here: http://developers.facebook.com/news.php?blog=1&story=107

Share This

May 7, 2008

Jeremy Robb
scothoser
Scothoser's Corner
» Looking for A New Car: A Hybrid

This past week has been a beast.  The weekend before, my car would not start.  It just died, with no apparent reason for the problem.  It’s a Volkswagen Jetta 2003 TDI.  I’ve had little problems with it before, but now that the warranty has gone out, I get the major one.  

Of course, I’m of the school of thought that it’s easier to fix your car than to take it in.  Boy was I wrong.  The last car I had to fix was my Geo Metro, which is more of a toy, and has mostly all mechanical parts.  I loved it, because I could troubleshoot and replace just about anything on that baby.  I was real cut up when the thing finally gave up the ghost, and I needed a new car.  

I chose the Volkswagen because they had a good reputation for reliability, and they were filled with the features I was looking for.  Also, they had a Turbo Diesel Injection engine that gets up to 52 mpg with the Jetta (the New Beetle got 60).  That’s why I really wanted it.  Sure, diesel was more expensive than regular gas, but I could burn biodiesel. 

Well, biodiesel hit a snag when I found out about a Salt Lake County law that prohibited the transportation of used cooking oil without a $million insurance policy.  My guess is a company business was being protected from biodiesel hobbyists, but none the less it put a dampener on my plans.  Still, it was cheaper to drive my car than my wife’s Subaru, because I got just great mileage.  

Well, now the thing will not start, and I have to take it into the shop.  It’s not the starter as I originally thought, but something with the electrical equipment.  Add that with my botched attempt to tow the sucker (apparently there isn’t a tow hook on the front of the thing), it’s going to be rather expensive to get it fixed.  

So now I’m looking for a new car.  With the option of biodiesel pretty much null, I need another vehicle with excellent fuel economy, and will be comfortable for me, my wife, my son, and the new baby on the way.  So, I started checking out Hybrids. 

Now, don’t get me wrong, I would rather have another alternative, i.e. electric car, but currently there isn’t an electric car option that will give me the range that I need.  The batteries are just not efficient enough (though they may be in the next 5 years).  Hydrogen isn’t really an option, because there isn’t an environmentally friendly way of creating it in a timely manner.  That, and fuel cells are just too expensive (can’t imagine why, with all that platinum).  

The Hybrids I checked out were listed on http://www.fueleconomy.gov/feg/hybrid_sbs_Cars.shtml, which is the government’s fuel efficiency listing of vehicles.  I was looking for a cost-effective vehicle that would get roughly the same fuel efficiency that I get with my Jetta TDI.  

The Prius
The first car I think of when I think Hybrid is the Prius.  At first I thought it was a joke, not getting the fuel efficiency that most other economy vehicles get.  But then I actually took a ride in one.  It’s nice, very geeky, and has a great display.  The ride was smooth, and when running just on battery power, it’s very silent.  You can also urk more bang for your buck if you let the wheels charge the battery for you.  For those on a hill (like the one here at the U), it’s great!  And finally, the fuel efficiency is about 50 mpg on the Highway.  That I like. 

The Civic
The runner-up is the Honda Civic Hybrid.  It’s a little more expensive, gets almost the same mpg, and has roughly the same options.  Why didn’t I choose it?  because it’s a little more expensive!  I’m a Scot, after all.  ^_^  

Other options were looked at, but nothing else came even remotely close.  I looked at GM cars, Ford, and others, but none offered the same level of fuel efficiency as either the Prius or the Civic.  I never thought I would go back to a Japanese car after driving a German one, but it looks like I may.  After all, my Korean vehicle lasted longer than any other car I’ve had. 

There is still one thing missing before my wife and I actually get the car, and that is the ability to car-pool.  Once we get that worked out, we will be all set.  It means one of us relocating our work spaces, which could happen soon, and it will not be me.  ^_^ 


Adam Olsen
synic
Vimtips Lates Articles
» Linden is here!!!

I know, these blog posts are boring if you don't personally know the blogger, but I don't care, I'm blogging it anyway.

My daughter, Linden Paige Franklin, was born on May 5th, 2008. Yeah, I'm freakin' out a bit, but mostly I'm very excited. I was so glad to meet her. I only hope that I can be everything she needs me to be.

Plus, this post allows me to add some much needed color to my blog with this nifty little doohicky from Google's Picasa:



Phil Windley
pjw
Phil Windley's Technometria
» Top Ten IT Conversations Shows for April 2008

In doing this month's top ten for IT Conversations, noticed two things:

First, since Doug put in our own code for ratings, the number of ratings per show is way up. I think with the new homepage design (oops! Did I let that slip?!?) we'll see even more ratings. We've not had enough in the past for me to put a lot of confidence in them, but that's changing.

Second, the number of overall downloads is down. We recently had to update the feed URL and this didn't get propagated correctly in all feedreaders and podcatchers. Please take a minute to check right now and make sure you're still getting IT Conversations on your MP3 player. The correct feed URL is:

http://feeds.conversationsnetwork.org/channel/itc
Or just head to feed subscription page and resubscribe.

The following is the list of the top ten shows on IT Conversations (by number of downloads) for April 2008.

  1. Phil Libin - Personal Outboard Memory (Rating: 3.69)

    Phil Libin was the CEO of CoreStreet when he appeared as the first guest on Interviews with Innovators. Now he's back as CEO of EverNote, a company that aims to build the memex, or personal outboard memory, that Vannevar Bush famously imagined in his 1945 article "As We May Think."

  2. Scott Sigler - Infected (Rating: 3.39)

    Dr. Moira Gunn speaks with Scott Sigler, who talks about his bioterror thriller "Infected." While it's based on the premise of a biological weapon on the loose, he's actually a modern day Charles Dickens.

  3. Amory Lovins - Energy Efficiency in Buildings - Part 2 (Rating: 4.79)

    Well-designed buildings not only conserve energy and reduce costs but also create conditions for better health and wellness. Amory Lovins, founder of the Rocky Mountain Institute, uses several examples to show how the right mix of materials, resources, and expertise can create structures that celebrate living. From MAP.

  4. Wagner Au - The Growth of Second Life (Rating: 3.44)

    Dr. Moira Gunn speaks with Journalist Wagner Au, who embedded himself in the virtual 3D online world, Second Life, and talks about its incredible growth.

  5. James Reinders, Dirk Hohndel - Exploiting Parallelism with Multi-core Technologies (Rating: 2.90)

    There has been a lot of talk about the difficulties of parallel programming, but Intel has decided to do something about it. Intel representatives announce the open sourcing of Threading Building Blocks, a product used to simplify parallel development. TBB has been around for several years as a proprietary tool, and Intel hopes that by opening it up, it will reach a broader audience and be adapted to more situations.

  6. Jeff Hawkins - Why Can't a Computer Be More Like a Brain? (Rating: 4.20)

    Despite amazing strides, computers are still relatively poor at performing high level activities that come naturally to the human brain. Co-founder of Palm, Inc., Jeff Hawkins, describes recent breakthroughs in the modeling of brain functions based on the theory of Hierarchical Temporal Memory. New insights into how the neocortex supports cognition, inference and prediction can be applied to a variety of problems using Hawkins' Numenta computing platform.

  7. Matt Zimmerman - Ubuntu Technical Roadmap (Rating: 3.20)

    Matt Zimmerman delivers exactly what his title promises: a technical roadmap of where Ubuntu has been and where it is going. He discusses the collaborative development process, an overview of past and future releases, the expansion of Ubuntu from the desktop to server and mobile environments, and what's next for Ubuntu. Highlighting key features of the latest releases, this presentation will be of interest to existing Ubuntu users as well as anyone considering migrating to this popular linux-based operating system.

  8. Werner Vogels - A Web-Scale Computing Architecture (Rating: 3.83)

    Developers are increasingly using Amazon, not only as a source of technical books, but also as a web services platform to build robust and scalable infrastructure. Amazon CTO, Werner Vogels, reveals how to make the most of the popular S3 service and uncovers some of the features underpinning the new EC2 (Elastic Computing Cloud) service. As a bonus for Conversations Network listeners, there's even a cameo appearance from our own Doug Kaye, who explains how Gigavox Media is exploiting the web services functionality Vogel describes.

  9. Jamais Cascio - Metaverse Singularity (Rating: 3.55)

    Technology is becoming more entrenched in every part of our life, and we need to be aware of where that might lead us. Jamais Cascio gives four possible scenarios based on whether technology is used to augment or simulate reality and whether it is internally or externally focused. Because of the human bias inherent in any technology, he argues that we need to democratically include all of the world's stakeholders to avoid having these scenarios become dystopias.

  10. Fred Krupp & Miriam Horn - Earth: The Sequel (Rating: 3.22)

    Today a complement of new energy technologies exist, but are they economically feasible? Dr. Moira Gunn speaks with Fred Krupp and Miriam Horn, from the Environmental Defence Fund, about their new book, "Earth: The Sequel."

Tags: itconversations


Doran Barton
fozzmoo
Fozzolog
» Handy Linux video trick: mini-DVD to DV AVI

After the MiniDV videotape camcorders and before the explosion of hard disk camcorders,
several manufacturers were making these camcorders that would record directly to DVD media. A handful of them recorded to full-size DVD media, but most recorded to a small (~3 inches in diameter) mini-DVD media. One of these discs can hold about 30 minutes of SD (740x480, 30 frames per second) video or about 1.4GB of data.

A couple years ago, I was working on a video editing project and one of my sources was from one of these mini-DVD camcorders. One of the perks of the mini-DVD format is you can throw it right into a DVD player and it plays it, without much grief, like a normal DVD movie. There's even a scene-selection menu that shows you thumbnails of images to select scenes recorded on the DVD.

I think the mini-DVD format was a great idea for people who just want to videotape an event and throw it in the DVD player, but it's not so good for someone who wants to edit the video on the computer. The camcorder manufacturers probably shipped the cameras with some kind of conversion program to extract the video from the discs and convert it into an editable format, but since I didn't own one of these mini-DVD camcorders, I didn't have such software.

A little googling and I found the answer!

Check out this command:

mplayer dvd://1 -dumpstream -dumpfile dvd.vob

This mplayer command may be familiar to those who rip video from DVDs to convert it to an MPEG4 format or something similar.

I can't edit a VOB file, so I needed to convert the VOB into, preferably, an AVI. Most of the AVIs I edit are DV format AVIs that I get off my DV camcorders. I knew if I could get the video on the mini-DVD into that format, I'd be in heaven. I didn't find a direct way to do this, but I did find two more steps that would do it.

ffmpeg -i dvd.vob -target dv dvd.dv
cat dvd.dv | dvgrab -f dv2 -s 0 -stdin

The first command (ffmpeg) converts the VOB into raw DV data. This is data you could stream to a camcorder and store on a tape. It's not in an AVI container, but it's close. The next command (dvgrab) is usually used for capturing video from IEEE 1394 (Firewire) video devices, but being that it has an option (-stdin) for reading data from standard input, we can use it to convert our raw DV data to an AVI.

Voila!


Jesse Stay
obfuscated, Uncle_Jesse
Stay N' Alive » OSS
» FBML Essentials Has a Cover!

fbml_essentials_comp.pngI received a copy of the cover for FBML Essentials last Friday. I was waiting to figure out what the bird was on the cover before I shared it. The bird is a White Throated Dipper - from Wikipedia:

The White-throated Dipper (Cinclus cinclus) is an aquatic passerine bird found in Europe and the Middle East, also known as the European Dipper or just Dipper. The species is divided into several subspecies on colour differences, especially of the pectoral band.

My Editor tells me