Structure and Practices of the Video Relay Service Program
The YouTube Video You Don’t See
Shop with confidence across the web
Helicopter view of your driving directions on Google Maps
Google CIO and others talk DevOps and "Disaster Porn" at Surge
Burning Man 2011 - Yes we were there.
Getting Started on the Google API
CACertMan app to address DigiNotar & other bad CA’s
Custom Class Loading in Dalvik
TWO REPORTS OF ADVISORY COMMITTEES ON DISABILITIES ISSUES RELEASED
Join the White House Disability Group Monthly Call on July 27
Multiple APK Support in Android Market
Forever alone involuntary flashmob
PS3 root key released - sign and run anything
Don't have a front-facing camera?
Mobile phone product testing: Models
How Can the LHC withstand 1 Petabyte of Data a Second?
Linus Torvalds is now officially a US Citizen
Portland bike lanes get mario symbols
Skype RC4 claimed reverse-engineered
Measurement Lab - Google IO BigQuery session is live querying 60 billion rows instantly
All you need is a little egotism, and $6
Convert IDN punycode to/from native characters
Sparkfun free day tomorrow: 1/7
Need a recursive DNS server? Use 8.8.8.8 and 8.8.4.4
JIQL - Java JDBC wrapper for Google DataStore
Unicorn == Mongrel delayed_job
Remus - Transparent HA for Xen
Crossbow Virtual Wire Demo Tool
Eucalyptus MySQL SOLR RabbitMQ Varnish == Nebula.nasa.gov
Apple drops ZFS due to legal concerns
Peering disputes between Cogent and Hurricane Electric
Equinix to acquire Switch and Data for $689 million
Project kxen renamed project HXEN
Lessconf Jacksonville - followed the next day by Barcamp
Stick-figure guide to advanced AES crypto
Why you should pay attention to Google Wave
rails-primer - how to easily host rails projects on appengine
AppEngine-JRuby on google code
Ruby on Google AppEngine: appengine-jruby video
Detecting Spammers with SNARE: Spatio-temporal Network-level Automatic Reputation Engine
Proxmox VE - OpenVZ KVM Cluster appliance management
Sun/Oracle kill of SXCE: Sysadmins everywhere cry in horror.
making water drinkable through nano-filtration
Pigin 2.6.1 adds Xmpp voice and video support
Setting up a Layer-3 tunnel VPN using ssh 4.3 and -w option tun devices
shadowserver.org - botnet hunting resources
OpenBSC - a Siemens BS-11 microBTS or a ip.access nanoBTS == your own GSM tower
Karesansui Project - a Xen management harness from Japan
Pygowave Server - Run your own Google Wave server
Xen clocksource0 time went backwards
Internet vs World Population stats
Apple pulls Google Voice app from iPhone - AT&T's fault
live-android boot ISO - very neat
How to update your GeoIP information in addition to SWIPping
Google Wave hackathon on 20th/21st, if you happen to be in Mountainview
Did I mention OTOY here before?
STuPiD - STUN/TURN using PHP in Dispair
Browser based Server-side 3D gaming from OTOY
Cisco's replacement for the WRT54GL is the WRT160NL
Spinn3r.com - Index the blogosphere
Parts of galaxy Messier 87 are missing
DRAEGER ALCOTEST 7110 MKIII-C Evaluation of Breathalizer Source Code
How Michael Osinski Helped Build the Bomb That Blew Up Wallstreet
Bruce Perens - A Cyber-Attach on an American City
How Google and Facebook are using R
adito - the new gpl fork of the old sslexplorer project
IP Address geolocation for free
Shapeways - $50 "3-D poem rings" until the end of the month
GrandCentral to become Google Voice
TurboVNC VirtualGL == FAST network GL
Ben Rockwood's presentation at the OpenSolaris Storage Summit: ZFS in the trenches
The Crisis of Credit Visualized on Vimeo
10gen - a java based app hosting infrastructure
Engineyard Vertebra - another cloud infrastructure management harness
Eucalyptus - an opensource EC2 compatible hosting infrastructure
railsbrain.com <-- ajaxified rdoc
AP IMPACT: SWAT Teams Deployed in 911 fraud
Lessons learned by people who have quit Google
Makwana indicted for Fanny Mae malware
Zentific svn repo: alpha available
DACS - Distribution and Configuration System - version 2.0
Video of Cisco IOS attack talk at Chaos Computer Conference
Cosmic radio background noise 6 times higher than expected
Grow your own bioluminescent algae
Quartz Composer and Cruise Control status
Sunay Tripathi's Solaris Networking Blog
Merry Christmas from Chiron Beta Prime
Google's Native Client... the next ActiveX?
kenai.com - xVM Server Project site
58% Spam Drop from one colo shutdown
Xenomips - a Xen friendly domU version of Dynamips - Emulate a Cisco 7200
Debian and Android dual-boot on the G1
Sipper (SIPr) - a SIP testing framework in ruby
DBslayer - a SQL abstraction layer using JSON
Fingerworks keyboard in a MacBookPro
The Phoenix BIOS hypervisor is Xen
Do you live in a Constitution-Free zone?
Puppet presentation at NYCOSUG this month
XenSmartIO - Infiniband IO for Xen
Starting with b100, OpenSolaris has virtual consoles
OpenSolaris testfarm build server interface now available
Firefox M9 Fenric - Maemo alpha
SystemZ - aka Sirius - a port of OpenSolaris to IBM System Z mainframe OS running in z/VM mode
Solaris and ZFS on a Dell 2950, tweaking notes
Early Access Windows PV drivers for xVM
Economics: The Theory of Interstellar Trade
The Financial Crisis: What Happened and What's Next?
Cisco to run Windows 2008 on their appliance virtually for services
Packetfence: an OpenSource Network Access Control system
persist.js - an alternative to gears
Chinese building "impossible" EM drive
COMSTAR SMTF - solaris FC, SAS, and iSCSI targets
Flexiscale - yet another control panel?
RightScale - cloud control panels?
Criticial ESXi remote vulnerability in openwsman
Jon Smirl's article "The State of Linux Graphics" gives a great overview of the existing and future graphics display tech for Linux.
"GetFoxie is a new plugin available for IE that can make Internet Explorer resemble Firefox by adding tabbed browsing capabilities and an integrated search box. Moreover, the plugin improves IE's privacy and security by integrating a firewall designed to block out Internet exploits, phishing sites, spammers, spyware and worms, with a special HTTP filter that removes private data, and an anti-spyware tool that can identify and remove all pests in less then 10 seconds"
Rubylicious presents bindings to Del.icio.us to Ruby scripts.
Erik Veenstra has written a tool in Pascal that combines all of the modules, library, and interpreter needed to run a Ruby script into a standalong executable.
"RubyScript2Exe transforms your Ruby script into a standalone, compressed Windows, Linux or Mac OS X (Darwin) executable. You can look at it as a "compiler". Not in the sense of a source-code-to-byte-code compiler, but as a "collector", for it collects all necessary files to run your script on an other machine: the Ruby script, the Ruby interpreter and the Ruby runtime library (stripped down for this script). Anyway, the result is the same: a standalone executable (application.exe). And that's what we want!"
Lucas Carlson's SimpleRSS - A new simple RSS/Atom parser Ruby Gem as a drop-in replacement of Ruby's RSS parser.
Cartographer has implemented effortless Google Maps in Rails.
This found on the Ruby on Rails Weblog post about Cartographer.
Tony Stubblebine, Lead Engineer at O'Reilly Media, sent me a note to let me know relative URLs were being generated into my index.rss
"I was doing some O'Reilly Connection work to display the most active writers on the site, you're #1."
I'll take that as a compliment; there is actual content in those posts, I'm not just splogging (really!)
Apparently, the "url" variable in bloxsom isn't evaluated the same when generating static content as it does when bloxsom is running as a CGI.
So, from this point on, everything gets redirected to the /blog/ dynamic URL that calls bloxsom directly. Ick. So slow..
Bloxsom also has this nasty bug when running as a CGI - Markdown processing chokes when more than one link is added on a line. I've cleaned up all of August, but earlier months need some attention to address this "bug". That, or the Markdown plugin needs fixing, and it's some frightful perl.
This only inspires me to write my own Ruby on Rails blogging engine in the same vein as bloxsom. I like my blog in a filesystem, not in a relational database. It should prove fun to make an ActiveRecord backend for a non-relational store.
Anyway, back to the blogging madness. You'll see more of a Ruby focus for a while.
"Apple is planning to hold a major press conference next week (September 7th) in San Francisco
The rumours say that it will be the unveiling of a new:
iPod cellphone(NYT)
"The phone will incorporate the popular iTunes software, be built by Motorola and marketed by Cingular Wireless."
"a source involved with making the commercials for the new handset has confirmed for us that it will only hold 100 songs because Apple is worried about cannibalizing iPod shuffle sales. Our source also says that these first iTunes phone ads will be 'music-based spots with people calmly walking down the street on the phone with their shadows and reflections dancing wildly beside them.'"
More SHA-1 breaks found by researchers in China. Potential attacks are now 64 times faster.
"The methods are also applicable to attacks against the weaker hash algorithm known as MD5. A run-of-the-mill PC can currently produce a collision within MD5 within hours, Wang said. Using the new techniques, that time could be reduced to minutes, she estimated."
Google has published many of their whitepapers.
There are a large number of other published documents to read as well.
Nutch is a search engine patterned directly after the Google model: NDFS instead of GFS, and a Java based MapReduce like system instead of a C++ based MapReduce.
This OSCon'05 presentation has a great presentation on nutch:
It's Java based, but interesting nonetheless. For MapReduce, I'd much rather use something like Ruby.
Back in 1999, Hilltop was devised as a way to rank expert documents based on authority.
Looking at Guido van Rossum's "The fate of reduce() in Python 3000" announcement on his blog, I started to wonder what the Ruby equivalents would be.
Benjamin Ferrari posted a great followup article "Reduce Any Map And Filter All Lambda" that explains this to a non-LISP developer.
NEW: Benjamin posted a followup article with a mention of the all? and any? Ruby methods I was not aware of. I am updating the examples below.
Breaking these down into Ruby equivalents (based on Benjamin's wonderful article):
Map
map takes two arguments: a function and a list. It then
A Ruby example:
list=[1,2,-3,4,5,-9]
squared=list.map {|x| x*x}
The Ruby Array "map" method _is_ map, by definition.
Filter
filter is similar to map: it also takes a function and a list. But unlike map, the function passed to filter returns a boolean value. If, and only if, the value is true, the element is copied over to the new list:
Here is the Ruby example:
list=[1,2,-3,4,5,-9]
even=list.select {|n| n%2 == 0}
we can also add an alias to defined a "filter" method to keep things more readable by LISP folks:
module Enumerable
alias filter select
end
The Ruby Enumerable "select" method, an alias for "find_all", is functionally equivalent to filter.
Reduce
Reduce is slightly different:
But this time, the method takes not one but two arguments: the first argument is the current element of the list, the other is the result from the previous call of the function (if there was one).
As of 1.7, Ruby has the following reduce method:
module Enumerable
# Reduce has been added to the Ruby 1.7 library
def reduce(init)
result = init
each { |item| result = yield(item, result) }
result
end
end
and here's a Ruby example of its use:
list = [1,2,-3,4,5,-9]
result=list.reduce(0) { |a, b| a + b }
this returns zero, because ( ( ( ( 0+1) + 2 ) + (-3) ) + 4 ) + 5 ) + (-9) ) = 0
Lambda
Lambda is just another way to define a function.
The longhand Ruby syntax for defining a function code block would be:
def foo(a,b)
return a+b
end
Ruby has a lambda function to define a code block:
foo = lambda { |a,b| a+b };
Lambda is (partly) useful if you need a short function that will be used only once.
Ruby iterators make Lambda generally useless, unless a more dynamic functional behavior is needed.
Any and All
Guido's article also introduces two new functions that will come with the upcoming python 3000: any and all.
Any
"any" walks through each element of a list . If any of these values evaluate to true, any returns true.
Ruby has an Array "find" method that is functionally equivalent to "any".
list = [ 1,2,3,5,7,9 ]
bool = list.find {|x| x == 5 }
This would return 5, or not false (ergo true), as 5 is in the array list.
Ruby also has an any? method I was not aware of until Benjamin pointed it out:
[:a,:b,:c,:d,:e,:f].any?{|x|x == :a} #=> true
All
all does the same as any, but, you guess it, all values must be true.
Ruby has the all? method, which I was not aware of until Benjamin pointed it out:
[:b,:c,:d,:e,:f].all?{|x|x == :a} #=> false
I hope this effort helps someone out there (it sure helped me clear things up)...
For blocking connections from machines listed on blocklist.org,
Peerguardian is a cross-platform IP blocker.
CrystalXP is a nice shell and XP theme that turns an XP machine decidedly Aquaish.
Scoble goes to Google, I'm still laughing.
Cell Phone Finder is a really neat way to look for a new Cell Phone. It's an Ajax'ed interface that works in all phones, carriers, and plans to let you select a phone that is right for you.
Neat single and dual-screen fractal backgrounds for your desktop.
Dema has created a new mixin:
acts_as_taggable - an easy way of adding tagging to any of your classes.