Archive for category Geekism

Date: July 29th, 2006
Cate: Geekism
1 msg

Late to the party, part MMMCCXLVII

I read all the raves for Why’s (Poignant) Guide to Ruby when it first came out, but haven’t been intested in Ruby until lately, when two strangely synchronous events occured: on the very same day, the new kid at work decided to give us all a presentation on Ruby, and Leonard’s Ruby Book (which squarely falls into the “hit” partition of Cookbooks, which have been hit or miss) finally finally finally shipped. So today I lazily browsed over and started to read the Poignant Guide. I hereby declare it THE NEW AWESOMEST THING EVAR!!!!!11!!!-(e^pi·i)!!! Words can’t describe. I’m giddy. It’s so good that I’m reading sections out loud to Jenny, who rather than feigning half-hearted interest, nearly broke down in tears at the story of Bigelow. IT’S THAT POIGNANT. Waste no time reading anything else on Ruby before reading this.

Date: May 23rd, 2006
Cate: Geekism
8 msgs

When is a comment not a comment?

A brief exercise using GNU Make:


Makefile subMake.sh Submakefile
submake :
  ./subMake.sh
#!/bin/sh
make -f Submakefile
STUFF = a b c d e

all : $(STUFF)

$(STUFF) :
  @echo making $@
  @sleep 1

Run ‘make’. You’ll see a, b, c, d, and e get made serially, one per second. Want to parallelize? You’d think ‘make -j5′ would do it, right? You’d be wrong. The Submakefile complains that there is no jobserver available, and still makes them serially. The reason is that the toplevel Makefile doesn’t “think” that subMake.sh is a sub-make, and doesn’t pass along the necessary magic environment variables and file descriptors for the jobserver stuff to work. But, by merely adding a COMMENT:


Makefile
submake :
  ./subMake.sh # $(MAKE)

IT WORKS!

Date: January 27th, 2006
Cate: Geekism
2 msgs

Google.cn: two levels of censorship

据当地法律法规和政策,部分搜索结果未予显示。

That’s the message that Google China shows when you search for “sensitive” things, like Tiananmen or Falun Gong. (compare vs Google.com: tiananmen, falun gong) It means something like “Due to local laws and regulations, some search results were not shown.” I was surprised, however, to see that that sentence does not show on a search for Taiwan (台湾)! But then, I compared the actual search results to what Google.com return, and found them quite different. The Google.cn results are all Chinese government sites, but the Google.com results include the “real” Taiwan sites, including some at .gov.tw. Does this mean that Google.cn has two distinct levels of censorship? The kind they admit to, and the kind they do silently?

Date: November 16th, 2005
Cate: Geekism
3 msgs

Google Base: wha?

I don’t get Google Base at all. From the announcement: “This beta version of Google Base is another small step toward our goal, creating an online database of easily searchable, structured information.”

Isn’t that just the web, minus the structured part?

Isn’t the whole genius of the web the realization that the structure isn’t necessary?

And isn’t the very reason for Google’s riches the fact that they figured out how to do the “easily searchable” part without the structure? That they figured out that even when a billion people who are definitely not interested in tagging or categorizing or structuring anything just start cobbling together half-broken HTML pages on whatever topics they like that it SELF ORGANIZES?

Google Base just feels like a throwback to the earliest thinking about online systems, like Xanadu or Cyc or CompuServe or something. Or maybe the semantic web people have infected Google and all is lost.

Date: November 1st, 2005
Cate: Geekism

PPPBTBBTBTBB!T!TTT!T!!!!!

Steve’s Helpful Hints For Making Your Workday More Enjoyable (part 27):

Always take a big swig of coffee (or whatever other beverage you have handy) just before launching your unit tests. That way when you suddenly see something like this:

!!!FAILURES!!!
Test Results:
Run: 39 Failures: 21 Errors: 5

You can spit the coffee all over your monitor and keyboard. It’s “big fun!”

Date: October 7th, 2005
Cate: Geekism
6 msgs

Google Reader

Google Reader – Google’s new web based feed reader. Feels a little clunky to me….but then again what would I know about it.

(via)

Date: September 29th, 2005
Cate: Geekism

GILAD BRACHA HAS WEBLOG!

It’s called Computational Theology. It only took about a year!

Date: September 25th, 2005
Cate: Geekism
1 msg

The Internet’s Heartbeat

This is acutally kind of old, but I haven’t seen it before. It’s the distribution of Google searches over the course of a single day (August 14th, 2003).

Date: August 8th, 2005
Cate: Geekism
1 msg

March 1, 2007

Engineers: You now have less than two years to update your systems for the new Daylight Saving Time rules.

Users: You now have less than two years to prepare contingency plans to work around all the problems caused by the systems that the engineers screwed up or forgot about.

Good luck!

Date: July 23rd, 2005
Cate: Geekism

Happy Birthday Jenny! Love, Billy ♥♥♥

Jenny’s getting just what every girl wants for her birthday this year: A new version of Internet Explorer!

Microsoft confirmed to internetnews.com that it will deliver the beta 1 version of Longhorn Server on August 3, along with the beta 1 release Internet Explorer 7. They’ll be available along with the beta 1 version of Windows Vista, the next-generation Windows client formerly known as Longhorn, which Microsoft announced Friday morning.

Date: July 21st, 2005
Cate: Geekism

Revelation 1:8

Today I present to you the Alpha and Omega of keyboards.

Date: June 28th, 2005
Cate: Geekism
8 msgs

Get Google Earth.

It’s free.

Date: June 13th, 2005
Cate: Geekism
9 msgs

Just when I thought I understood the internet

Your search – “template metaprogramming sucks” – did not match any documents.

Date: June 10th, 2005
Cate: Geekism
2 msgs

Presenting our latest switcher: Mr. J! W! Z!

that was, in fact, the final straw:

Remember last week, when I tried to buy exactly the same audio card that 99.99% of the world owns and convince Linux to be able to play two sounds at once? Yeah, turns out, that was the last straw. I bought an iMac, and now I play my music with iTunes.

This took… let me see… just about zero effort. Well, I still have to go buy some longer audio cables, but that’s it.

I plugged a mouse with three buttons and a wheel into the Mac, and it just worked without me having to read the man page on xorg.conf or anything. Oh frabjous day.

Go ahead and say “I told you so” if it makes you feel better.

Date: May 8th, 2005
Cate: Geekism
2 msgs

Tiger == BIGGEST SECURITY HOLE EVAR!!!11!!1!evelen

I’m kinda glad I haven’t bought Tiger yet. It turns out that the new Safari + Dashboad team up to allow an unremovable (!) executable to be installed and run just by visiting a web site, like this one, which has a demo and a full explanatation. Sure, dashboard widgets run in a sandbox. How easy are sandboxes to break out of? Maybe I’ll wait for 10.4.1.

UPDATE: According to an update to the linked article, people who have already installed Tiger can protect themselves by unchecking “Automatically open safe files” in Safari preferences. It’s apparently checked by default, and Dashboard widgets are considered “safe”.

(via)

Date: May 2nd, 2005
Cate: Geekism
1 msg

Road Sign Math

Road Sign Math just drove me insane.

(via)

Date: April 20th, 2005
Cate: Geekism
2 msgs

International Waters… the land that law forgot

SeaCode: Offshoring. Three miles off shore -ing.

Date: April 16th, 2005
Cate: Geekism

SAFARI 1.3 HAS UNDO

Multi-level undo at that! And Redo! Run, don’t walk, to your nearest Software Update! It has all sorts of other goodies, too.

Date: March 30th, 2005
Cate: Geekism
2 msgs

Yuck

This gives me the creeps. I’m removing I’ve removed or rel=”nofollow”ed all links to Wordpress.org from this site.

Date: March 24th, 2005
Cate: Geekism

Ancient Google Secrets

The Google Development Model: A single, shared code base. Fluid team and project switching. Super transparent intranet. Pet projects encouraged. Energizing intrapersonal environment.

Date: March 6th, 2005
Cate: Geekism
1 msg

TEXTAREA is the fire in which we burn

Adam Rifkin: Life In A TEXTAREA

It’s hard to relax when you’re living in a box. I’d estimate that I spend between 10% and 20% of my life in a browser, and half of that time is spent in a <TEXTAREA> like the one I’m typing in right at this moment to flesh out this post. The reason I cannot relax is that Web forms have not evolved in fifteen years — there’s still so few text editting features that I find myself manually searching and replacing sometimes. There are few activities more useless than eyeballing a <TEXTAREA> looking for text sequences when I know this is what computers were friggin’ invented to do.

I wholeheartedly agree! Browser developers: haven’t you heard our call? Save us!

Date: March 5th, 2005
Cate: Geekism
21 msgs

FoF½

I’ve been busy:

It’s getting there!

Date: February 23rd, 2005
Cate: Geekism

XScreenSaver + Boing = PURE AWESOME

Now I regret not getting XWindows set up on my Linux machine. XScreenSaver now has a “Boing” mode!

I couldn’t believe it when, in 2005, installing the very latest version of Debian, I was confronted with the exact same screen telling me to enter vertical blank timeouts or whatever insane stuff it needs to know to get video to work that I was confronted with back in 1995 the last time I installed Linux. Back then I figured the arcane numbers out, I don’t know how. This time I said “Yeah… no”, hit CTRL-C, and have been satisifed with text mode. Until now!

Date: February 14th, 2005
Cate: Geekism

Return of Jorn?

Jorn Barger, creator of robot wisdom, the first weblog, has returned? As a writer for The Register?

(via)

Date: February 9th, 2005
Cate: Geekism

If you build it…

The reverse engineering of Google Maps begins.

(via)

Date: January 26th, 2005
Cate: Geekism
7 msgs

Enterprise mash-up

Have you noticed how all the episodes of Enterprise this season are just rehashes of episodes of original Trek? An upcoming one is going to be even crazier. They’re going for a mash-up! A combination of “THE THOLIAN WEB” and “MIRROR, MIRROR”! So get this: somehow the 22nd century Enterprise is going to ren-dez-vous with the 23rd century USS Defiant… IN THE MIRROR UNIVERSE! It’s got time travel .. it’s got evil versions of the crew (probably with beards)… it’s got Tholians… and it’s got a painstakingly detailed recreation of the original set! How can they go wrong?

So then.. what’s next?

  • A Piece of Mudd’s Tribbles
  • Return to Tomorrow is All Our Yesterdays
  • Assignment: Operation: Spock’s Brain: Annihilate!
  • Let Where No Man Has Gone Before Be Your Last Battlefield
  • Spectre of [Balance of (Devil in the Dark) and (Dagger of the Mind)]
  • For The City On The Edge Of Forever Is Hollow and I Have Touched the Squire of Gothos
  • If Nobody is Going to Mourn for Adonis, Can We At Least Get a Requiem for Methuselah?
Date: January 25th, 2005
Cate: Geekism

September

The September that never ended is ending.

(via)

Date: December 31st, 2004
Cate: Geekism

The Free Lunch Is Over

The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software – a really good article on how Moore’s Law is (sort of) ending and the performance gains we’ve been enjoying for free are (sort of) going away. I see this as a good thing: it means that software writers who can figure out concurrency are going to be more and more in demand.

(via)

Date: December 17th, 2004
Cate: Geekism
18 msgs

FoF 0.1.9 is debugged

Feed on Feeds 0.1.9: That problem is fixed, this stuff is included. <stevejobs>Oh, by the way… this release is also about 10 times faster.</stevejobs>

See, I’m just now figuring out this whole “database index” thing. If you’re upgrading from a previous version, re-run the installer (install.php). It will add some indexes to the items table that really should have been there from the beginning. If you’ve already created indexes yourself, and run the installer, it may create duplicate indexes. Would that be bad? Try to imagine all life as you know it stopping instantaneously and every molecule in your body exploding at the speed of light. Or if that is too scary you could just go in with phpMyAdmin or whatever you used to create your renegade unauthorized indexes in the first place and delete them.

Date: December 15th, 2004
Cate: Geekism

Raising the bar

And it also means that if you give somebody a list of RSS items and a ‘mark-as-read’ button, they’re no longer going to tolerate the full-page-reload-and-scroll-to-the-top that certain unnamed aggregators have conditioned them to accept.

Date: December 15th, 2004
Cate: Geekism

Dealing with latency in a real-time application

Here is one of the clearest descriptions I’ve ever read of how to deal with synchronizing game state across a slow, unreliable network. The increase in complexity they had to go through to get from LAN play (Halo 1) to WAN play (Halo 2) is pretty amazing.

Date: December 12th, 2004
Cate: Geekism
1 msg

FoF 0.1.8 is bugged

FoF 0.1.8 users, please see this post at LaughingMeme. Magpie 0.7 has a bug (that I think was included in some code I originally sent to Kellan… sorry about that!) which will cause character encoding translation to fail if you don’t have iconv, but do have mbstring. If you have iconv, everything is fine. If you want to fix this right away, you can download the new version of ‘rss_parse.inc’ that Kellan has made available. Of course, I’ll include this fix in the next release of FoF.

Date: December 10th, 2004
Cate: Geekism
9 msgs

Early and Often

What’s that thing they say? Release early and often? In that spirit, and in the context of these two earlier posts, here you go:

Snoopy + native PHP SSL + Digest Auth: ALPHA version

This was based on whatever you call the version of Snoopy that comes with MagpieRSS 0.7. It said 1.0 in the header but I’m not sure if it’s exactly the same as the one you can get from the Snoopy project at SF, or if Magpie’s Snoopy has drifted out of sync.

This is designed to be a drop-in replacement for Snoopy. If you happen to have FoF 0.1.8, this will work extra nicely. Be warned that older versions of FoF had a stupid bug preventing subscription to https addresses, so don’t bother trying it.

Change 1: If you ask this version of Snoopy for an https: URL, instead of trying to execute curl externally, it will check if you are running at least PHP 4.3 and have OpenSSL installed. If so, it will use PHP’s built in SSL implementation. If not, it will fail back to the old behavior and try to find curl to execute. There is also a flag you can set (use_curl) to force the use of curl if you’re happier with that.

Change 2: If you ask this version of Snoopy for a URL with a username/password (ie http://user:pass@example.com), it will first attempt Basic Auth, like always. But if that fails, and the server sends back a header with a Digest Auth challenge, Snoopy will attempt to respond appropriately by issuing another HTTP request with a Digest response. The “killer app” of this feature is subscription to friends-only LJ feeds.

I’d love to get some feedback on this. So download and execute away!

Date: December 10th, 2004
Cate: Geekism
2 msgs

Contact! HTTP Digest Auth works!

It works! I have Digest Authentication working in PHP. It’s the client side, which I think hasn’t been done before. Like I thought, it wasn’t that hard. It works for the simplest (but most common? only?) case, where qop=auth and algorithm=MD5. There was one tool I needed that I was really glad to have: tcpdump. Yet another reason why Macs rule: they come with a packet trace utility all installed and ready to go, just waiting there in /usr/sbin for the day you realize you need it.

I’ll release a version of Snoopy that uses PHP’s native SSL support (if available) and this new feature in… a while. I need to clean it up significantly first.

Date: December 5th, 2004
Cate: Geekism
15 msgs

HTTPS and Digest authentication in PHP

Now that Kellan has finally integrated my character encoding changes, I figure I might as well cause him some more trouble. I’m trying to get HTTPS and Digest Authentication working in Snoopy, therefore MagpieRSS, and therefore FoF.

There is currently support for HTTPS in Snoopy, (and in FoF 0.1.8, now that I’ve fixed a stupid bug) but it depends on executing ‘curl’ externally. Yuck. And Snoopy does Basic Authentication, but not Digest. Since one of the really common things people would like to do is subscribe to a friends-only LJ feed, supporting Digest would be nice.

I think I have HTTPS working already, using code copied from HTTP_Request. Assuming you have all the right dependencies (I think just OpenSSL), SSL magically “just works” by using fsockopen with “ssl://” prepended to the host. Kind of a strange way to do it, but PHP programmers are used to such things. It seems to work equally well connecting to hosts with “real” SSL certificates, and “bogus” self-signed ones, which I’m going to interpret as a feature in this case. (In Java you have to jump through UNBELIEVABLE hoops just to say “yes, yes, I know the certificate isn’t signed, or the host name doens’t match, BUT JUST CONNECT ANYWAY!”)

As for Digest Auth, that’s harder. I can’t find s single existing PHP implementation. Well, I found the server side, but not the client side. From reading the RFC, and some implementations in other languages, it doesn’t look that hard. So I’ll try that next! I’ll probably get it to just barely work with LJ, declare victory, and ship it.

By the way silverorange’s test private feeds have been really helpful in getting this to work. Thanks for those!

One other related thing people always request is for FoF to work behind an authenticated proxy. I’m having a really, really hard time caring about that one, mostly because I don’t have an easy way to test it, and also because it just seems so weird, so I’ll likely not do it.

Date: December 4th, 2004
Cate: Geekism
7 msgs

FoF 0.1.8

I’ve had all these minor improvements in my private version of Feed on Feeds for the longest time, but didn’t think it was quite enough for a release. But the release of MagpieRSS 0.7 finally pushed it over the edge. So get 0.1.8 now!

Date: December 1st, 2004
Cate: Geekism

It’s that time of the year again

Perl 2004 Advent Calendar! Which has become a messy-78 yearly tradition.

By the way I should also mention that this weblog is now over two years old. I’m not sure if that’s old enough to make me cool yet.

Date: November 22nd, 2004
Cate: Geekism
1 msg

FoF related program activities

MagpieRSS 0.7 has been released! Magpie is the RSS library FoF is based on. Mainly this release includes the unfortunate code that you need to deal with XML character encodings in PHP. FoF has included a version of this code for a while, but I’m glad that it’s now in the main-line Magpie.

reBlog 1.0 has been released! reBlog is a system based on FoF for reading feeds and very easily (in one click) “re-blogging”, or posting to your own weblog, the items you find interesting. It looks like for this release Eyebeam’s teamed up with some designers to spruce up FoF’s famously, uh, “utilitarian” interface.