I'm the CEO of Tailrank. This is my old (personal) blog. See my new blog over at Feedblog.org. Tailrank is proudly hosted by ServerBeach.
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Ysabella Brave has signed a record contract deal off of Youtube. Cordless Recordings... a division of Warner.
Not sure if this is a good thing though...
What really makes me mad is that somehow the LA Times thinks they can take credit first. For the record you saw it on MY BLOG FIRST!
June 05, 2007 | Permalink | Comments (0)
Today is a big day for Tailrank.
We have two announcements. The first is that Tailrank is now indexing over 1M weblogs.
This should really help prevent the echo chamber problem which seems all too common with the blogosphere.
The second is that we're launching Spinn3r.
March 28, 2007 | Permalink | Comments (0)
If you're talking to a girl at a bar and her guy friend taps on you shoulder and says "Dude... she's a guy".
You should either:
A. Assume she's really a guy and walk away.
B. Assume she really doesn't like you.
The only way B would ever happen was if you were a moron and didn't take the hint in the first place.
Of course if you're a moron you're probably not smart enough to formulate either A or B at which point you don't deserve to reproduce anyway.
There needs to be a Darwin award for people who take themselves out of the gene pool just by not reproducing.
October 07, 2005 | Permalink | Comments (0) | TrackBack (0)
I stumbled across JSE about 12 months ago while at Rojo and while very interested I just didn't have time to play with it. Of course I only spent about 5 minutes with the code so and it seems you need more like thirty.
JSE allows you to write macros which then are expanded into source prior to compile. This allows you to easily implement 'foreach' and 'unless' macros and the like (Examples are here).
Foreach is a big win for me because I don't really like the language extensions in JDK 1.5. This should have just been done with a macro language but Ra the SUN god seems to disagree.
The main motivation for setting this up was a 'duration' macro so that I could easily benchmark blocks of code.
For example a poor man's benchmark in Java is just:
long before = System.currentTimeMillis(); //do something expensive long after = System.currentTimeMillis(); System.out.println( "Duration: " + (after-before) );
Which is a bit ugly.
After I installed JSE this is the first macro I implemented:
duration( "foo" ) { //something expensive }
Which will then print "duration for 'foo': 100ms" ...
Which just rocks my world!
Implementing the macro is simple:
public syntax duration { case #{ duration (?:expression) ?:statement }: return #{ long before = System.currentTimeMillis(); ?statement long after = System.currentTimeMillis(); System.out.println( "Duration: " + (after-before) ); }; }
Update: One problem is that all my macro expanded source files have to have a .jse extension which I don't like. I'll have to rename everything. Ideally it would preprocess everything first and then only pre-process as I edit the files.
Update: JSE didn't have support for differential compiles. This means that every time I want to build I'd have to re-apply all my macros regardless if the file was updated or not. It turns out this is a simple patch (included below):
--- JseAntTask.java.orig 2005-09-29 15:10:48.000000000 -0700 +++ JseAntTask.java 2005-09-29 15:07:55.000000000 -0700 @@ -58,14 +58,27 @@ args.append(new Boolean(lineup).toString()); args.append(' ').append(new Boolean(recursive).toString()); args.append(' ').append(new Boolean(verbose).toString()); + + int skipped = 0; for (int i = 0; i < jseFiles.length; i++) { File jseFile = new File(jseDir, jseFiles[i]); String base = jseFiles[i].substring(0, jseFiles[i].indexOf(".jse")); File javaFile = new File(javaDir, base + ".java"); + + if ( javaFile.lastModified() >= jseFile.lastModified() ) { + ++skipped; + continue; + } + log("Generating " + javaFile + " from " + jseFile + ".", Project.MSG_VERBOSE); args.append(' ').append(jseFile.getAbsolutePath()); args.append(' ').append(javaFile.getAbsolutePath()); } + + if ( skipped > 0 ) { + log( "Skipped N files (not updated): " + skipped ); + } + runJava("net.sf.jse.ant.JseAntHelper", args.toString()); } }
September 29, 2005 | Permalink | Comments (0) | TrackBack (0)
September 25, 2005 | Permalink | Comments (0) | TrackBack (0)
I have two computers I want to have synchronized.
I know I can use rsync. I know I can use scp.
The problem is that SSH in general has too high of a connection latency. It takes 1-15 seconds to tranfer a 1k file.
This might not sound like much but over the lifetime of an application it really add up.
What I want is an app that runs in the background any everytime I save a file to disk it will sync the disk to the remote target machine.
This would need to happen FAST so I can just forget about syncing altogether. This means that the connection latency would need to be near zero. This either means caching the SSH connection auth credentials or just keeping open an sftp connection to the remote host.
It would then sync up my .php files. The only other problem is my .java files but I can use jikes on teh remote end to recompile real quick and my app only needs 1sec or so to respond.
I have yet to find anything that solves this problem. Any ideas?
Update:
I remembered I had made an old attempt at doing this directly within Emacs. After a file is saved I ran a command to scp over the modified file. The problem was that scp was taking too long so I gave up.
Now I just updated my script to support sftp and it's really fast. I can save a file in Emacs and then load the page directly in my browser. No lag. The sftp process is already queued and ready to go so it's faster than my hands trying to grab for my browser.
Now I just have to configure it to sync another directory (.java files) and maybe have it automatically run commands (rebuild/restart).
Update:
There's already a version of this for Emacs called mirror.el. I'll need to play with it some as my current script seems to try to go a bit farther than mirror.el and I have more advanced requirements for my sync support.
That said though I'm super lazy and hate reinventing the wheel.
September 11, 2005 | Permalink | Comments (0) | TrackBack (0)
If you're a lazy developer like me you want the shortest set of instructions to get up and running with subversion.
Here we go. These instructions are for installing on Debian Linux (more info here). We're going to use the SSH method since this is by far the fastest and easiest. I'll try to setup viewcvs against this repository later so we'll see.
On your server machine:
apt-get install subversion
mkdir /var/lib/svn
svnadmin create /var/lib/svn/PROJECT
chmod -R 777 /var/lib/svn
On you client:
mkdir PROJECT/trunk
mv PROJECT/* PROJECT/trunk
mkdir PROJECT/branches
mkdir PROJECT/tags
svn import FULL_LOCAL_PROJECT_PATH svn+ssh://[email protected]/var/lib/svn/PROJECT -m "Initial import"
svn checkout svn+ssh://[email protected]/var/lib/svn/PROJECT/trunk PROJECT
You're done! Now you'll have a local copy of your subversion repository to play with. Wasn't that easy?!
Update:
The line format was updated to add spacing between commands since it was a bit confusing. I also updated a path statement.
August 26, 2005 | Permalink | Comments (0) | TrackBack (0)
August 23, 2005 | Permalink | Comments (0) | TrackBack (0)
Check this out! Looks like SF might be working on free wifi.:
This could be really big, if true. Though we're sure it will take time, and that SF Mayor Newsom (pictured here) will have a fight on his hands from jealous carriers. But he's been known to go it alone before (remember, gay marriage), so this should be interesting.
The Merc is about to shrink its bureau space in San Francisco, and we were thinking it would harder to work there during visits if other colleagues bagged all the available wired broadband connections. We'll be eager to hear more.
If Gavin can pull this off he'll be my new hero. I'm still amazed that SF has such poor wifi connectivity. SF is the heart of the tech universe. There should be no inch within San Francisco where I can't get free wifi!
August 16, 2005 | Permalink | Comments (0) | TrackBack (0)
Looks like Fiona Apple's new album is finally going to be released.:
Fiona Apple is ending her curiously long hiatus from the business of making music. A year after 11 tracks were leaked onto the Internet, drawing praise from critics and fans, Epic Records announced Monday that Apple's "Extraordinary Machine" will be released Oct. 4.
This is an awesome CD. I know a friend who downloaded it over Bittorrent (*cough*) when it first snuck on the Internet. He says its super amazing and that you should probably buy it.
August 15, 2005 in Music | Permalink | Comments (0) | TrackBack (0)
Recent Comments