JonRock is currently certified at Apprentice level.

Name: Jonathan Ferro
Member since: 2000-07-18 16:11:29

Homepage: http://www.ece.cmu.edu/~jferro

Notes:

Ignore the home page job info. I've actually graduated from CMU and I am working at MorphICs Technology in Cupertino. (P.S. the StudlyCaps company name wasn't my idea.) My most interesting contribution to free software so far is the INTERCAL extension to the GNU Emacs Calculator, but I've got some neat Palm ideas in the wings.

### Recent blog entries by JonRock

Egad, working with chips is an unfamiliar hassle. It's all OK so long as it's just verilog, but when you finally decide you're done you have to take all of your work off of the unix box, run it through donglified software on NT box A to generate a weird binary file, then run it through software on NT box B to actually download it into the FPGA. That's messed up.

On the other hand, once the scope is actually attached to the FPGA, it's pretty neat to see all the electrons dance. "See that piece of rock? Today I made it count to 16." Also, any productive hassle is preferable to the non- productivity of sysadminning.

More perl:

# nthmost 3, (1, 5, 2, 4, 3) ==> 2
# (indexed from 0)
sub nthmost (\$@) { my (\$n) = shift; return ((sort {\$b <=> \$a} @_)[\$n]); }

Unfortunately it's O(n log n) even if \$n is 0, but oneliners are nice anyway.

I finished my month-long project a couple days early after a brainstorm yesterday, so I had a beer with lunch today. Don't tell my boss.

Here's a nifty perl snippet I came up with during the course of the project:

# uniq(("A","A","B","A","C","B")) ==> ("C","A","B")
# Order is not preserved.
sub uniq { return keys %{{map {\$_ => \$_} @_}} }

JonRock certified others as follows:

• JonRock certified JonRock as Apprentice
• JonRock certified Fyndo as Journeyer

Others have certified JonRock as follows:

• JonRock certified JonRock as Apprentice
• Fyndo certified JonRock as Apprentice

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