Wherein Aristotle convinces me to seriously consider moving my experimental bzr projects to git. I’ve seen the content vs. file tracking argument before but never really understood what the actual impact of this difference was.
“Like with unix, cells are not ‘spawned’ – they are forked. All cells started out from your ovum which has forked itself many times since. Both halves of the fork() are identical to begin with, but they may from then on decide to do different things.”
An online edition of the Federalist Papers which is pleasant to look at and provides paragraph-level permalinking. Each paper is marked up in the hAtom microformat with an elastic layout (stays beautiful with bigger/smaller font size).
This is a good idea. The w3c hosted validators tend to perform on the bad side of horrible. I’ve run the validator locally but never thought to look for mirrors.
I can never remember nmap args for some reason…
“Groj Sale”
“And there’s the big problem — the people running the elections aren’t actually running them. Vendors are doing that. Election officials don’t know how their equipment works and won’t know if it works wrong.”
“Other than the fact our child will be bright, text-based and sarcastic, we will otherwise be a normal family.”
Wonderful PostgreSQL cheat sheet with PDF and HTML versions.
“I am going to introduce you to bash’s vi editing mode and give out a detailed cheat sheet with the default keyboard mappings for this mode.”
Gerry Sussman is teaching this year’s 6.001 SICP class – the last time the class will be offered at MIT. It sounds like Scheme is being phased out of MIT’s CS program completely. What a sad day.
I wonder why newsgator would make this free. Seems like there was a pretty decent slate of paying users. Losing ground to Google Reader? Eventual ad placement? Just wanted to be nice? Weird.
“We live in a world where it is legal for a company to patent pigs, or any other living thing except for a full birth human being, but copying a CD you bought onto your hard drive is considered an infringement of someone else’s rights.”
On Dreamhost freaking out because they can’t get Rails deployed reliably.
Schneier advocates running an open wireless network at home. I’ve been doing this for about a year because I couldn’t get the Wii to work with security enabled. When I thought about it, I came to many of the same conclussions Bruce does in the article.
“The constraints, the instability, and the unpredictability of a shared hosting environment are a big part of the reason why the web hosting business is moving towards virtualization everywhere you look. Big kids need their own sandboxes to play in.”
Could be huge: “rumors continue to swirl that EMI will pull its funding from music trade groups like the RIAA and IFPI, an IFPI spokesman tells Ars that the group is in the middle of a major internal review of its operations.”
Ian takes a look at some of the attributes of PHP’s deployment model, why they work so well (for PHP), and why other environments have such a hard time duplicating them.
Bob Ippolito wrote up some pros and cons to reverse proxy implementations in different servers a few months back. I don’t think much of it is out of date at this point but nginx isn’t represented.
Payware GUI shell thingy for MacOS. This is not a QuickSilver/Launchbar clone. It’s more like a magical bash interpreter that knows things about what’s happening in various Mac GUI applications (like Finder, Safari, etc).
Sanjiva Weerawarana is such a tool.
“I have spent many years working on the FreeBSD kernel, and only rarely did I venture into userland programming, but when I had occation to do so, I invariably found that people programmed like it was still 1975.”
Steve Vinoski compares IDL as used w/ CORBA/DCOM with WSDL as used by WS-*. It’s interesting that IDL served as more than just a description for machines. Humans used IDL as spec text and built services accordingly, just like REST :)
Schneier adds a bit to his Wired article last week on running an open wireless network.
“You think your better then me just because you no grammar?” :)
What?!
Dare weighs in on the usefulness of description languages in REST-based design and seems to conclude that Uniform Interface != Description Language and that simple discovery ( style) is the appropriate comparison.
Steve does the Sun/MySQL aquisition Q&A and speculates on some interesting effects of the deal: “… YouTube sold for $1.6 billion, and consumed virtually no software. If that acquisition was to take place today, they would have been buying from Sun.”
Orson Scott Card: “You can domesticate programmers the way beekeepers tame bees. You can’t exactly communicate with them, but you can get them to swarm in one place and when they’re not looking, you can carry off the honey.”
Dennis Ritchie: “There was a facility that would execute a bunch of commands stored in a file; it was called runcom for ‘run commands’, and the file began to be called ‘a runcom’. rc in Unix is a fossil from that usage.”
What I’d like to do is run Firefox/Gecko on the server. It would load up the report, render it with the print stylesheet and then output the PDF. The concept is not unlike khtml2png or webkit2png but instead of outputting a raster image, it would output a PDF: gecko2pdf, if you will.
Oops: “At $1 billion … Sun paid a multiple of 10 times sales for MySQL today. Optimistically assuming a 20% profit margin, they are looking at a multiple of 50 times earnings for a return on investment of around 2% per year. Optimistically.”
Rut-roh. The RDBMS crowd is none too happy about the recent MapReduce talk. This article suggests they’ve solved all these problems a long time ago and that MapReduce is basically retarded. This discussion will get interesting over the next few weeks.
Ka-pow!
Did I ever tell you about the guy that spent the better part of a day making his site’s layout entirely em based …
Makes sense to me.
“The Algorithm’s coming-of-age as the new language of science promises to be the most disruptive scientific development since quantum mechanics.”
“… anybody who’s ever built out a relatively complex design using ems will agree that at some point they wondered if the benefit was really worth the effort.”
“A million lines of code is not ten times more than 100,000. It’s well-known that schedules grow faster than the code … so the schedule for developing a million lines of code is 22 times bigger than for 100,000 LOC.”
Why RedMonk is succeeding where other analyst houses fail: “Other analyst firms primarily target sell-side or buy-side. We really don’t see the world that way. RedMonk’s core constituency is ‘make-side’: the makers and doers, hackers and players.”
Whoa. I apparently haven’t spent nearly enough time looking into IBM’s Project Zero. It seems to come down to REST + (Groovy|PHP) and sneaking practical technologies in the front door with a “SOA” label on it. Interesting strategy.
The problem of simply detecting which squares are or are not mines is NP-complete, and that means, for Minesweeper fans, that their favourite game can be seen as being right at the cutting edge of mathematical research.
Contact based HUDs are coming: “Researchers at the University of Washington in Seattle have developed a prototype contact lens that incorporates an imprinted electronic circuit and lights.”
Simon Willison’s latest project makes it easy for people developing in Django to hook up and get laid (since they have so much free-time due to developing in Django).
“The MIT guy did not like this solution because it was not the right thing.”
“There is no one who actually WANTS the money right now, and so cutting the Fed Fund rate has no effect on inflation or anything else for that matter, except for the fragile psyches of the CNBC crowd.”
“… even if you have a single server, a proxy in front can help performance significantly. Through the simple expedient of buffering, your heavyweight processes don’t waste time serving every request for the entire length of time the client is connected”
“He said he had a mandate from the president and Congress and he was not going to consider other options. It’s going to have to change. They don’t have the money to do it.”
Includes a nice chart of the Differentiation of Fat Joe’s Liquid Based Promiscuity :)
Microsoft missing the point with regards to “standards”? Inconceivable! Every time I read stuff like this I wonder if it’s intellectual dishonesty or if the folks over at MS are really this ignorant. You have to lean toward dishonesty here, I think.
“… people of the Internet, the YTMNDers, trolls of the world, the GameFAQs members, the eBaumers; us old time Internet users, and the newest of noobs, the YouTubers and MySpacers, must band together for a fight that transcends our differences …” :)
The Environmental Protection Agency are such alarmists.
“Code Rush follows the people of Netscape Communications during an intense period in 1998, when it was all but certain that Microsoft had already won control of the Internet user’s desktop.”
Holy crap, this is insane. Just let people run IE6 and IE7 as separate standalone browsers side-by-side with IE8. As James said in my previous post, they can even rebrand it as “Intranet Explorer” :)
“Nothing – and I mean nothing – in IT takes less than 80 hours, and whatever you think it’ll actually take, multiply it by 20, and tell management that. You see, 80/20.”
No, but seriously, the only reason we’re not all using Perl for web development is because all the problems are already solved … and have been since around 1995 or so. (See Also: mod_perl, libwww-perl, Fielding et al.)
Kragen throws some useful criticism at Digg/Reddit: “If you fill your head with ‘merely a collection of trivia, all of it narrow, shallow, and sensational’, it won’t stay there; it’ll trickle right out again.”
Time Mag pulls back the curtain on Scientology and reveals the cult for the batshit criminal organization it is. It’s about time. EDIT: sorry, this was published in 1991 :–(
“… there’s a sub-constraint that goes by the unwieldly name of ‘Hypermedia as the engine of application state’, which is arguably the most important constraint of REST in the sense that it alone provides the bulk of the ‘shape’ of RESTful systems …”
Firefox 3.0’s new default Mac theme showed up today in the current trunk nightly (Minefield). The theme is very similar to Safari’s.
Dion Almaer sits down with Yegge to talk about his JavaScript/Rails port. Nice one-on-one video, candid, and thick in technical detail.
pv can be inserted into any normal pipeline between two processes to give a visual indication of how quickly data is passing through, how long it has taken, and an estimate of how long it will be until completion.
I’ve long thought that the percentage of visits going to Firefox in my site statistics were oddly high. It turns out it’s pretty much in line with numbers put out by both Bob Sutor and Joe Gregorio…
“Hernando who worked down the hall and who was large with microbrews came to him and told him that the ship day was upon them but the bugs were not yet out. The bugs which were always there even when you were in Cafes late at night sipping a …”
“What is catching users' eyes? Legibility, correctness, conciseness…. the list goes on and on. Simply put, this history essay is a significant release for me – one that builds on all of the great things that I was able to deliver last year […]”
“… sued the restaurant where she worked saying she was promised a new Toyota for winning a beer sales contest in April. Berry, 26, believed that she had won a new car, but she was blindfolded, led to the parking lot and presented a toy Yoda …”
“Closures were left out of Java initially more because of time pressures than anything else. Closures, as a concept, are tried and true – well past the days of being PhD topics.”
“Between 1988 and 1991 I worked on the research program that led to the Mars Pathfinder rover […] All three of [the prototypes] were programmed not in Lisp, but in little mini-languages whose compilers were written in Lisp.”
Neil Stephenson writing on “the longest wire on Earth” (undersea fiber) for Wired in 1996.
Bill de hÓra making all kinds of sense on the topic of Android, mobile platforms, the cloud, and other things.
This is pretty funny. Even the options dialogs are themed.
“There comes a time in every old browser’s life to pack up shop and, well, fuck off. This time has come and gone for IE6 …” Also: “42% of global users are still browsing the web with IE6.”
I didn’t know it was possible to build such nice closed-source programs.
“Jimmycarter-sub iz in ur oceanz … tapping ur fib3rz”
Joe Gregorio: “This is what I call the ‘Scooby-Doo’ phase of the technology rejection curve, where the rubber mask has been ripped off and the crook yells as he’s dragged off by the cops […]”
“… Ballmer is an old-school kind of guy. He’s not really a tech guy. […] He’s a Big Three automaker kind of guy. And this is a Big Three move. It’s Ford buying Jaguar and Land Rover and Volvo because they can’t think of anything else to do.”
Ahh, it turns out Håkon’s Wium Lie (Opera CTO and the guy who first proposed CSS) is on YesLogic’s board, makers of PrinceXML. I’m not sure how I missed that.
Bert Bos and Håkon Wium Lie show off some of Prince’s more advanced CSS and HTML features, including styling page size, generating headers/footers, advanced use of the CSS content attribute, page numbering, cross-references, and table of contents.
He’s insane.
96 patents with assignee name “Yahoo! Inc”
What PrinceXML is coded in, apparently. It’s like Prolog for large systems: declarative, strongly typed and type inferencing, module system, closures, currying, lambdas, and with a strong determinism system. Compiles down to C (as a portable assembler).
Peter Cooper scratches the deployment problem itch.
I’ve been watching the weekly changelogs and there were a ton of performance tweaks. The FreeBSD port landed today as well.
You’ve got to be kidding me…
Watch tweets pop up around the country on a google map as people comment on the goings-on of Super Tuesday.
Runs on Linux and FreeBSD (with linproc mounted on /compat/linux/proc). I’ve always wondered why top(1) just kind of stopped being developed 10 years ago.
Squeal! Squeal like a pig, boy.
There’s some good questions here. I’ve been running into a few of the same issues while experimenting with moving some of my bzr projects to git. Can one of the git pros out there have a look?
“Our hope was that the authors of misbehaving software and the administrators of sites who deployed it would notice these errors and make the necessary fixes to the software responsible.” – You must be new here.
Evan Weaver: “These leaks tend to grow slowly. Your Rails app definitely has this kind of leak, especially if it uses the ActiveRecord session store.”
Finally: “this manual is designed to be readable by someone with basic UNIX command-line skills, but no previous knowledge of git.”
I have a strange fetish for init systems (sysv, rc, launchd, etc). This is the first quick introduction to Ubuntu’s new init system (Upstart) I’ve seen. Nice examples of using the initctl command and writing job files.
“Cameltoe is a set of utility functions for making Ruby objects more like camel toes.” — You’ve piqued my interest :) It looks like this adds a String#cameltoeize method, amongst other things…
Lightweight Firefox extension that causes new tabs to open to the right of the current tab. Works with Firefox 3.0 betas and nightlies with extension compatibility checking disabled.
Nice Ruby assertion library that’s block based. Shows block contents when the assertion fails. Much cleaner than Test::Unit assertions and without the retarded RSpec non-sense. This really ought to be rolled into the stdlib Test::Unit, IMO.
An epiphany everyone needs to experience.
From the comments: “the only things i find [useful] in Web Developer Extension is the shortcut to clear cache… for other things i use Firebug…” — Me too!
A “Hello World” Rails webapp in fewer LOC than a Java console app that System.out.println(“Hello World”). The routes and controller DSLs look pretty interesting as well.
Seriously interesting web based git browser and collaboration tool from the folks at Engine Yard. If anyone has a spare invite laying around, hook me up: rtomayko@gmail.com. I have a bunch of stuff sitting in bzr repos that I’d like to flip over to git.
Huge thanks to al3x for the invite. I’ll be writing up my experience over the next week or so.
Where would the world be without DVD Jon?
“The reason we are integrating our own allocator is that we’ve found jemalloc to be better than all the default allocators of our three main platforms (Windows, Mac OS X and Linux)”
“The last features standing get re-integrated into another branch known as the ‘trailer park’ to try to find a new life for themselves. Note that ghetto is frequently called ‘trunk’, and the trailer park something like ‘releng’”
reddit.com is running Pylons-0.9.6, Paste-1.4.2, Routes-1.7, Beaker-0.7.5 on FreeBSD 6.2-RELEASE (amd64). Wow. Nice environment.
“… adds a chroot(2) facility to sshd, controlled by a new sshd_config(5) option ‘ChrootDirectory’. This can be used to ‘jail’ users into a limited view of the filesystem, such as their home directory …”
From 2002: “On this latter specification, Sutor is emphatic: web services are defined by whether they are described in WSDL.”
Constantly updates the the process title ($0) with something like: “mongrel_rails [10010/2/358]: handling 127.0.0.1: HEAD /feed/calendar/global/91/6de4”. Let’s you monitor backends with ps and top.
I repackaged mongrel_proctitle as a GemPlugin so that all mongrels on use it automatically. This is the first chance I’ve had to play with GitHub, too. Lovin' it.
This is why I love Unix.
“Math class is tough; let’s go shopping!”
A quick script I threw together to convert simple bzr branches to git repos. Requires git, bzr, and rsync.
This is so right. Why didn’t client certificates ever catch on in the browser? Or signed emails? Neither are hard to get set up but nobody uses it. It’s weird.
This is far and away the funniest part of the movie… Whelp, see ya later.
Uggghhh. I just spent 30 minutes hunting some arcane tcsh bug caused by coreutils dircolors. This is my revenge. I don’t even know I had any csh code running on this machine. It turns out that MacOS X’s /usr/bin/which is implemented in csh. Dumb.
“The ngx_http_empty_gif_module keeps a 1x1 transparent GIF in memory that can be served very quickly.” — That’s so amazingly awesome; spacer.gif for life.
Fork me!
I thought I had a few more months. Dammit. This is going to be a huge time-sink.
I can’t think of single piece (package?) of software I use, admire, and depend on more than GNU Coreutils. Maybe Firefox. Maybe OpenSSH. Some days rsync(1).
Make Firefox like Vim. No, like, insanely like Vim. Not just h,j,k,l mappings but everything. Looks like it’s been around for awhile. I’m not sure how I missed it.
Yukihiro (Matz) Matsumoto, David Flanagan, _why the lucky stiff, David A. Black, Charles Oliver Nutter, and Shyouhei Urabe: that’s what I call a writing team. Wow.
Yes! Please. Make your friends on myspace work for you. Idle CPU is wasted CPU, dontchaknow.
Hmmm. I knew there was something fishy with the last 15 minutes or so.
So you’ve decided to start a weblog and have a really clever idea for titling it based on a snippet of code you find particularly novel. Rad!
“I am Unicode, thy character set. Thou shalt have no other character sets before me.”
I’m apparently the last person on the internet to see this. The rise of internet culture as recorded on Usenet. It’s beautiful, really.
Today it occurred to me that, after a little over ten years of basic fluency in HTML, I have absolutely no idea why the href attribute is named “href”. Why not “url”, “link”, or even just “ref”?
“In the spirit of the Firefox 3 firstrun pages, I would like to permanently commemorate the noble deeds of the robot community in their fight for an open web.”
Makes the background of hexadecimal color codes the respective color. So, background-color:#f00 will have a red background in the vim editing window. Nifty.
Patch accepted!
I need to give jQuery a serious look. Prototype’s Ajax.Request stuff is crippled (no PUT or DELETE) to the point of being worthless; the jQuery selector magic looks a lot more intriguing than what you get with Prototype, too.
From the comments: “HyperText is like Text, but includes links to and from other hypertexts.”
“If you can’t control the text width the next best thing you can do to compensate for an overly wide text measure is to increase the leading.” — I never considered that but it makes sense.
This takes “the use of code in weblog titles” to a whole new level. Hilarious.
“Coincidentally, Pi Day is also the birthday of Albert Einstein, who no doubt knew more than a little about pi.”
More praise for GitHub from a small team of Django hackers that built a site in three hours on one night with a little help from git…
“I hold that simplicity is the most important attribute of design,” I say. To which Tufte would reply, “No, you don’t.”
Spot on.
“So the CLD lisp process uptime experiment is now over and I will move the CLD to a better place than a simple server in my basement.”
Most of these are relevant to POSIX sh(1). This one gets me every time: echo <<EOF :)
“Ten months later the company dies from a sudden buffer overflow.”
Sam Ruby filling in for Mark Pilgrim (and featuring Mark Pilgrim in the comments) skewers Joel Spolsky over his “Martian Headsets” piece on the IE8 standards-mode dilemma. I use the word “skewered” in the nicest way possible, of course.
I thought this was a computer programming related article … buh-zing!
As seen on Google Code’s new and improved source browser.
Don’t be silly!
Superbly explained and with extremely useful circly diagrams. Bravo.
Mark contributes the obligatory fisking.
Stefan Tilkov addresses some of the most common doubts people have when first deprogram and come up to speed on REST. Short and well done, IMO. I think I’ll be handing this out quite a bit in the future.
Roy Fielding on the difference between architecture, architecural styles, patterns, implementations, and applications.
I’m more than a little embarased that I’ve never heard of this utility. I think most modern kernels prioritize IO with normal nice, though…
chromatic on million-line Java programs: “I can only imagine how much larger the Java code would be without all of those XML files.”
That’s doodoo, baby.
Interesting take on AFD as launch-crazy-but-legit-projects day. I didn’t use the Internet at all this AFD and sent everything in my reader to /dev/null. Now, I feel kind of bad. Sorry about that, internet.
Brad Neuberg (Google Gears): “Our historical closeness to the web creates a kind of myopia, where we can’t see how amazing it is. It’s a billion Library of Alexandria’s dropped into our laps.”
Okay, I’ve read about five of these articles purporting to explain Git’s internal conceptual framework. This was the first that really made things click in any significant way.
David Heinemeier Hansson: “PHP scales down like no other package for the web and it deserves more credit for tackling that scope.”
Agreed!
“John McCarthy, better known to many as the originator of the LISP computer language, called me up to say he would be leading the fight at Stanford to reverse the ban.” – Could the man possibly be any more credentialed amongst hackers?
Not sure how I missed linking to this. Pretty much mirrors my feelings on PHP to a T, except more thought out.
This was a really great lesscode.org piece by Aristotle. The follow-up discussion in the comments was superb as well. Being in the middle of everything really warped my view of what was going on back then, I think.
“… tittle is easily the most likely source, since to a tittle was in use in exactly the same sense for nearly a century before to a T appeared (it’s first recorded in a play by Francis Beaumont and John Fletcher of 1607) …”
JavaScript based source highlighter with support for many languages in separate modules. Similar to the JavaScript Prettifier in that <pre><code> blocks are automatically detected and highlighted without an explicit language class.
Ranked #22 of 470 derivative works — that’s up from #35 as reported on Waxy at 2:47 PM (roughly five hours ago). Unfortunately, there’s no mp3 / ogg in sight. Somebody really ought to torrent all 470 of them up.
Bill de hÓra gives some reasons for using a distributed VCS even when the downstream repo is non-distributed.
I’m a bzr refugee in Git-land, myself.
Matt Chisholm evaluates Ruby against Python for an upcoming project and determines that it’s a big pile of doodoo. I can’t agree with the conclusion but he details a lot of Ruby’s warts really quite well.
Rafe kicks off a series detailing various aspects of his coding philosophy. The first is near and dear to my heart: less code
Christmas in Python land! Run Python/WSGI code on Google’s infrastructure. This is an incredibly H U G E win for the Python web community and further validates WSGI’s architectural awesomeness.
The more interesting aspects of life described using only venn diagrams, an occasional line graph, and a scatter plot here and there.
It’s as though every other version control system I’ve ever used was created by people who were really into version control and Git was created by people who were really into hacking.
I can’t say whether this is an accurate description of hg but he nails a lot of the things that makes git interesting, IMO.
I’ve since went to sleep and reawakened. I’m typically fairly curmudgeony when I wake up but I’m still having the same reaction.
There are some great tips for owning your local workflow in here.
A nice solution to “The Tangled Working Copy Problem” for VCS’s that don’t allow you to pluck out portions of a working copy to commit. Allows editing the diff that’s about to be committed.
Ian Bicking: “Many people are excited about how far up you might be able to scale something based on App Engine, but I’m excited about how far it could be scaled down.”
The Python REPL running on Google’s infrastructure.
Stephen O'Grady with the obligatory Q&A, which is excellent as always.
Erik Engbrecht: “Java took cheap Unix processes and made them expensive. To compensate, it provided primitives for multithreading.”
Now this is the kind of direction I hope to see GitHub and Gitorious go in the future.
“… the ‘new reality’ is the realization that Dynamic Scripting Languages are ready for prime-time and that REST is a simple, yet scalable architecture to build a servers on.” – I’d say that’s definitely a new reality for the enterprise, Bill.
All manners of good stuff here.
Ethan Vizitei on the difference in productivity found in the middle of the night vs. any other time of day. Nails it, IMO.
In response to Virgin Media CEO stating that he considers Net Neutrality to be “a load of bollocks” and promising to put any website or service that won’t pay Virgin a premium to reach its customers into the “Internet bus lane.”
eWeek: “… Nearly every Microsoft executive associated with the Windows Vista launch has left the company. Vista has proven to be a career-ending enterprise …”
Ethan Vizitei with a great piece on people’s misconceptions about what coders do and the difficulty with which they do it.
I finally watched “There Will Be Blood” a few days ago and the milkshake line practically jumps out of the movie at you. I have no idea what the hell happened in the movie but that line made it all worth while.
I think I may finally be able to get rid of Colloquy.
A gem for your project is automatically built each time the project_name.gemspec file is changed on your master branch.
“Here’s something four-year-olds know: A screen that ships without a mouse ships broken.”
“I still haven’t found anyone who knows how you implement Scaling in a language, so I guess that LRM will never have it… Anyone who care to enlighten me, please send me a detailed email with an implementation of Scaling.”
Reading xkcd has become one of my last regular forms of physical exercise. My abs are burning right now from violent guttural reactions to this one.
This was the first year in a long time that I didn’t make it over to Kent to see the memorial and pay my respects. Growing up a few miles from where all this went down is still one of the most sobering experiences of my life.
“… in every one of these processes and diagrams there is a box which basically says ‘write the code’, and ought to be subtitled ‘(and here a miracle occurs)’.”
“Apple calls these songs ‘iTunes Plus’, because it sounds so much better than calling everything else ‘iTunes Minus.’”
Oliver Steele details his (and others’s) Git workflow with a bunch of illustrative graphs, emphasizing one of my favorite aspects of Git: There’s More Than One Way To Do It.
What Mark Pilgrim has been working on at Google for the past year or so: an encyclopedia of web development.
Boo! Horrible name collision imminent. Is REST really that unknown or do they just not care?
… and other freakishly large animal pr0n. Awesome. (via sogrady)
Ola Bini on def vs. define_method vs. eval for defining methods in Ruby. There really ought to be a simple way of getting stuff like this from blogs and into the standard Ruby doc.
“You (and I) suck. Plan for it. Expect it. Get over it.”
And I was just starting to get used to the Minefield icon… I’ve been running the nightlies for about three months now and FF2 is really feeling a bit like legacy software.
Sold! All my stuff will soon be non-NC.
Interesting look at evolution of UI and the semi-recent trend of adopting the web’s content oriented interface. Definitely overlaps with the fundamentals of “admin debris” and related ideas.
Nice ApacheCon EU ‘08 presentation (warning: video + slides, no transcript) covering various blue sky stuff on Roy’s brain for Apache and HTTP.
Aristotle Pagaltzis: “Not exactly as fast [as SBCS strlen], but if you write it in asm, it only takes one extra instruction to count characters in UTF-8 vs those in an 8-bit encoding, per character.”
An implementation of Markdown in portable ANSI C that’s roughly 28.5x faster than the canonical Perl implementation on a 179K test file. Looks like a complete implementation; includes smarty and footnote extensions.
Short and exceptionally well written take on Microsoft’s Vista DRM strategy. I’m really enjoying the FSF going on the offensive with sites targeting very specific issues (badvista.fsf.org).
Interesting thread wherein Linus describes the need for various types of Git workflows for leaf developers vs. maintainers. Lot’s of talk about the pros and cons of rebasing in different situations.
Support for HTML4/HTML5 output, more control over whitespace, option for implicit HTML encoding, and now faster than ERB.
This is the template used to generate the HAML RDoc. It’s a massive improvement over the default template shipped with rdoc. I can almost stomach rdoc with this — almost.
Interesting. I’ve been using the jquery-1.2.3.js hosted on google code for a few months now. Maybe I should have read the TOS…
cschneid has been helping me get the collection of hacks I’ve come to call a weblog into shape for some kind of release. He’s also been writing a lot of great Sinatra tips and tricks here. Check it out.
Justin French: alias push?='git cherry -v origin' — beautiful.
“It is against the law to break the law in these premises, or anywhere!”
“… the fact that [Twitter has] a nifty error page is a bonus really.”
Sometimes! Or, fork(2) is a very fast operation on legitimate operating systems. I didn’t realize it could be as fast as spawning a thread, though.
Fast Markdown libraries for Ruby: two for the price of one.
If you move the slides quickly, it feels a bit like playing Desktop Tower Defense.
There’s way more new stuff in here than I thought. 20%-30% of ActiveSupport’s core extensions, Enumerator support everywhere, Object#instance_exec, byte vs. char stuff, documentation, and more…
Good idea. Solve the “concurrency problem” for dynamic/scripting languages and the “language syntax problem” for Erlang, without sacrificing the benefits of either. Someone needs to keep an eye on this.
Yossi Kreinin: “But I miss virtual functions. I really do. I sincerely think that each and every notable feature C++ adds to C makes the language worse, with the single exception of virtual functions.”
Compare (as in, diffs) the output of 15 different Markdown implementations. Includes every Markdown implementation I’ve ever come across and then some…
An initial version of RDiscount’s API docs just published on rubyforge…
Free (as in beer). Built on WebKit. Simple. Beautiful.
Agreed. I’ve been a lurker for going on a year now. Solid mailing list.
“This plugin will alert you if you accidentally stumble onto MySpace.com, and take you back to the site you came from.”
Letter found hidden beneath a backyard pond to the person who would eventually remove the pond. One of the best pieces of writing I’ve seen all year.
Nice TOS: “We are engineers, and we, like you, know very well how you want to be served by us, just as you know very well what not to do here.”
Hilarious! What Mark doesn’t know is that much of my “minimalist redesign” was ripped directly from what he’s had in place for 2-3 years; “administrative debris” was just a convenient alibi.
Right on time.
Rafe on Bruce Sterling’s Dead Media Project: “… a catalog of media formats that are no longer in use. In many cases, media stored in these dead formats can no longer be read because readers are no longer available for them.”
The man was a genius: “‘the unlikely event of a water landing,’ discussed in every preflight safety lecture, sounds suspiciously like ‘crashing into the fucking ocean.’”
“Jim Meyer, manager of LED says that Rails scales like any other web application: ‘That is to say you need to take into account all the components from the moment the request is received at the load balancer all the way down and all the way back again.’”
Nice review of the various typographic tact found at Jon Tangerine’s Pith & pulp http://jontangerine.com/
Not sure how I’ve never stumbled on this before. You can remove items from the list to cause require to reload a file.
Awesome idea. Nice syntax highlighting. (Via Simon Willison)
“We’re born as unreal people but somehow get turned into respectable members of society with good cover stories.”
Christian Neukirchen announces Bacon, a ground up reimplementation of test/spec + test/unit. (EDIT: this is not test/spec as I had previously reported. Sorry.)
The greatest thing I’ve ever seen on the internet.
A minimalist’s WordPress theme. Focus on typography and simple markup. Various configuration options and a print stylesheet.
if any – Another hella-great minimalist design.
My feelings exactly. I can’t believe I’m going to consciously purchase something that’s so over the top defective-by-design, but I’m definitely going to buy it.
Sam Ruby on how DVCS + mailing list has removed the need for bug tracking systems on some projects. I’m feeling a similar pull in my own work.
With your host, Joe Gregorio.
Awesome. I didn’t even know there were such things as Firebug Extensions.
Who says legibility and correct punctuation aren’t street?
Great look at varnish and concerns around putting a front-end reverse proxy cache in place.
joshua schachter on Rabble/Kellan’s “Beyond REST?” presentation, with an interestingly simple HTTP-based callback system.
An all around great post from Bill de hÓra. Wow.
This is why I have a really weird fetish for graphs. It’s not the colors and shapes, it’s the fact that any data has an infinite set of potential visualizations and some are vastly better than others, depending on your needs.
Very nice and functional JavaScript based timeplot library. Looks good, shows data-points on mouse over, approachable API. Good stuff.
2,484 miles later, I find myself in San Francisco working, for the first time, on something I really love.
I threw this together a few weeks ago and now I’m not sure how I lived without it now. I know you people have cool bash/git hacks sitting in your ~/.bashrc — hand them over.
Single points of failure always suck. Always, always. There’s five billion songs out there that depend on a very small (comparatively) number of key servers owned by a single company. It’s just horrible engineering.
Interesting. This is the first time I’ve seen mention of Firefox shipping with Ogg Vorbis and Theora built-in. That could definitely change the horrible pace of adoption we’ve seen thus for.
“… the caganer is often tucked away in a corner of the model, typically nowhere near the manger scene. There is a good reason for his obscure position in the display, for ‘caganer’ translates from Catalan to English as ‘pooper’, and that is exactly what this little statue is doing — defecating.”
Koshi’s been hanging out at the legendary San Francisco dive bar, “The Zeitgeist,” every day for thirty days now; takes photo’s and blogs about the picnic table discussion.
“You can specify CSS based on viewport orientation which you determine via javascript and update the orient attribute of the body element. Target the browser with body[orient=‘landscape’] or body[orient=‘portrait’]”
Jonas Arnfred: “This theme is a sleek and simple minimalist design for wordpress made to bring the content forward, and everything else out of view. The theme is designed with a focus on typography and effective whitespace …”
Still too much work but it’s nice to see some support for conditional GET making its way into the framework.
Adam Wiggins on Sinatra’s blasphemous approach to controllers and routing. AKA: the thing that makes Sinatra my web layer of choice (well, that and throw :halt).
One of the better pieces on Feynman I’ve seen. First aired February 2, 1975 on NOVA. I know what I’ll be watching on the Muni for the next few days :)
“Unlike the lower court, the appeals court seemed to understand that reciprocity lay at the heart of free software licenses. Just as traditional software firms thrive on the exchange of code for money, free software projects thrive on the exchange of code for code.”
Bill de hÓra knocks one out of the park: “I think sometimes that the problem people have with REST is that it’s so well-defined; it’s not witchcraft, it’s not a cargo cult. You can’t argue with it on a relativistic basis or apply clever rhetoric or continuously redefine what it means. An architectural style isn’t ‘good’ or ‘bad’ – you have to decide if it’s the right fit for your problem space and if not, you have to come up with a more appropriate one.”
Assaf Arkin: “There’s also some back-end processing going on, and I think that part is using DRb for now. But maybe the next update it will switch over to RMI or UNIX pipes or whatever. I don’t much care because the library does the talking, and besides, it’s only distributed in the sense that we have two pieces of code running with different PIDs. Not particularly important what’s happening on the wire, as long as it’s fast.”
Just great stuff.
Dare Obasanjo is a machine.
I just totally love this kid. Chris explains the future and past of, uh, everything that matters, and gives good, solid, practical reasons for why contributing to free and open source software projects is something worth dedicating a large chunk of your time to.
Chris Wanstrath: “Side projects are less masturbatory than reading RSS, often more useful than MobileMe, more educational than the comments on Reddit, and usually more fun than listening to keynotes.”
“This ain’t the goddamn Barney show, I’m not a goddamn purple dinosaur, and I don’t give a flying fuck about your feelings. I don’t love you, I don’t want to be your friend, and as far as I’m concerned, caring means not setting your house on fire.” — Phillip Birmingham
According to Wikipedia, the short story recited in the left stereo channel during “The Gift” was something Lou Reed put together as a writing project during his college days. My favorite part is when Bill tells Marsha that he still respects her and that, while he didn’t love her, he did feel a certain affection for her.
Alan Dean has bookmarked over 100 REST related articles in the past two days (and 757 all time). For comparison, I’ve been bookmarking REST related articles since July 2004 and have a total of 107 bookmarks. It appears that Dean is shooting for a comprehensive list of every resource related to REST ever posted on the web.
PHP-based Muxtape clone that you host yourself. From the project page: “Opentape’s creation and design are proudly inspired by Muxtape’s success and sleek interface. We were sad with it’s untimely shutdown and wanted to let the web mixtape movement continue.”
muxtape.com was RIAA’d a couple of weeks ago. And while the EFF believes they could have decent legal footing if they wanted to challenge the take-down, it seems unlikely that the site will reopen anytime soon, if at all.
Alexander Sandler’s get-up-and-running guide to the tcpdump packet sniffer.
Is xkcd ever going to stop being funny?
Yep. Rubygems’s system of security is really very lax compared to any Linux distro or other system-level package management system I’ve come across. I think the bigger problem, though, is that there’s a cultural acceptance to running gem as root. You don’t really think before installing a gem, you just “sudo gem install FOO”. There’s an attack waiting to happen any time you’re using sudo out of convention like that.
“It also becomes a good-natured game. Think of it like golf. In golf you’re trying to hit the ball into the hole in fewer strokes than your opponent. In Pedantry Golf you’re trying to be more correct than your opponent, by correcting edge-cases, mistakes or assumptions in the previous post or statement (see also: Perl Golf).”
Dump the stack trace of all threads in a running ruby process by signaling with -QUIT. Requires patching the ruby interpreter, which sucks because I need it for a process running right now.
An active community of bacon lovers with 2,356 members.
All frameworks should approach caching the way Django does. The core app/origin framework does no real caching but provides utility/helper methods for setting standard RFC 2616 cache related headers on the response easily and correctly. A completely separate set of caching goo (“middleware”) sits between your app and performs the actual caching based purely on the headers set by the origin. The benefit to this approach is that caching is totally independent from the app framework and can be swapped out for a true gateway (“reverse proxy”) cache at any time.
“An iPhone developer who created an app that manages and plays podcasts says the app was disqualified from the App Store because ‘it duplicates the functionality of the Podcast section of iTunes.’ That’s right, iTunes for the desktop.”
And the overwhelming majority of comments are actually in support of Apple’s decision, change the subject, or attack the author. Amazing.
For lawyers?!?? This site is way too useful and right to limit it to lawyers.
Talk about a religious attachment…
Dan Kegel: “You can buy a 1000MHz machine with 2 gigabytes of RAM and an 1000Mbit/sec Ethernet card for $1200 or so. Let’s see – at 20000 clients, that’s 50KHz, 100Kbytes, and 50Kbits/sec per client. It shouldn’t take any more horsepower than that to take four kilobytes from the disk and send them to the network once a second for each of twenty thousand clients. (That works out to $0.08 per client, by the way. Those $100/client licensing fees some operating systems charge are starting to look a little heavy!) So hardware is no longer the bottleneck. ”
Looks like this is from 2003 but is still pretty accurate as far as I can tell.
Sends emails to people when you die. Awesome.
“This is how this works. You write a few e-mails, and choose the recipients. These emails are encrypted with military-grade algorithms, so you can be sure that no-one except the intended recipient will ever read them. Your switch will email you every so often, asking you to show that you are fine by clicking a link. If something were to… happen… to you, your switch would then send the emails you wrote to the recipients you specified. Sort of an ‘electronic will’, one could say.”
“When the Texas Education Agency evaluated its Technology Immersion Pilot, a $14-million program to install wireless tools in middle schools, the conclusion was unequivocal: ‘There were no statistically significant effects of immersion in the first year on either reading or mathematics achievement.’”
Aristotle Pagaltzis on eating PHP’s lunch: “It will have to be more than just a programming language, because PHP itself is really more than a programming language. It includes a crude web framework (an invocation model reminiscent of CGI, with extensions) plus a crude deployment solution (just make all the libraries part of the language and let the sysadmin worry about it – who in turn often defers to his operating system vendor). This is PHP’s way of taking the worse-is-better philosophy to dazzling new depths …”
I was having this conversation at work the other day and came away with the conclusion that even if something were to reach feature / ease of use parity with PHP today, it would be many years before it actually surpassed the language in real deployments. PHP is everywhere.
Highly experimental HTML 5 validation service. More info and bookmarklets available on the about page.
Pseudocode for the SHA-1 algorithm. Pretty straight-forward for being so insanely useful.
On taking the DRM authorization servers down.
Lots of good stuff coming in Varnish 2.0. GC, regexp based purge, custom hash funcs, backend load balancing based on health or other metrics, and the thing I’m personally most interested: what looks like support for validation based caching.
Looks like Paul Hammond is in the process of resurrecting his blog.
Bruce Perens on the recent JMRI/GPL ruling:
“For a decade there’d been questions: Are Open Source licenses enforceable at all? Are their terms, calling for a patent detente or disclosure of source code, legal? Are they contracts, which require agreement by all parties to be valid, or licenses, which are binding even if you don’t agree to then? What legal penalties can a Free Software developer employ: only token damages, or much more? The court’s ruling makes the answers to these clear. Did such weighty questions come up in cases involving IBM, Sun, HP, or Red Hat? No, this is the quirky world of Free Software: it was a court case about model trains.”
Just landed on mozilla trunk a few days ago. See the draft spec for specifics.
Oh, nice. Here’s a high-level design document that describes the new cross-site XmlHttpRequest (their calling it, “XXX”) functionality and ties the other documents floating around out there together. It seems that servers will be able to signal that certain resources are accessible from other domains using HTTP headers or (gasp!) XML processing instructions (PIs). Weird.
“One unpublicized feature introduced by Apple’s latest iPhone software updates is the ability to save Web apps to the home screen and have them launch in full-screen mode without the Safari wrapper, essentially mimicking the experience of a native app.”
Very interesting alternative to git submodule, especially in “vendor branch” type scenarios. The other project is merged into yours at a specified prefix and can be updated with a simple git pull.
Thomas Jefferson: “I had rather be shut up in a very modest cottage with my books, my family and a few old friends, dining on simple bacon, and letting the world roll on as it liked, than to occupy the most splendid post, which any human power can give.”
Spotted on bacon.reddit.com…
A horrible and misguided idea. I’ve personally never even liked the RJS/JavaScript generation stuff in Rails, and it’s actually well designed, thought out, and quite simple. “Managed Ajax” takes it to a whole new level, building from the assumption that “JavaScript is the new assembler,” and moves most types of interaction logic to the server. Reality seems to be moving in the exact opposite direction. Do yourself a favor and get real comfortable with JavaScript.
I’m using this on all of my “linkings” index pages now (see here, for example). It works pretty well. I really like the idea of integrating a piece of the destination site’s visual identity instead of using a generic del.icio.us/bookmark icon. Some site’s with favicons don’t work properly, however, and I’d give anything to have another parameter that let me override the default globe icon (this one: ). It’d be nice if I could say, grab the favicon for this domain but if it doesn’t exist, give me the favicon for delicious.com (
).
Alex Payne’s tumble-like blog on minimalism in coding and design. I didn’t realize @al3x was such a huge conscious follower of the minimalist aesthetic, although I’ve definitely noticed it in his work.
… is a Ruby library suitable for use as a drop-in Net::HTTP replacement or with event frameworks like EventMachine and Rev.
Bill Burcham applies the technique of making form controls inherit style from their container in the Air Budd Form Builder Rails plugin. Cool.
Ola Bini: “Using instance_eval changes the rules for the language in a way that is not obvious when reading a block. You need to think an extra step to figure out exactly why a method call that you can lexically see around the block can actually not be called from inside of the block.”
Having abused instance_eval in the past, I can say with absolute clarity that it’s usually The Wrong Thing. It can make DSLish code look really cool in controlled and scoped demos but it greatly increases cognitive complexity, making things hard to read and maintain.
“Beer is the people’s drink. Whiskey on the other hand is seen as a hard drink. It is a drinker’s drink. The sole preserve of men. It’s serious. It is the opposite end of the spectrum to fruit-based neon-coloured liquids sporting little paper umbrellas.”
This is really close to what “the web” looks like in my brain:

I try to stay in the general vicinity of the “principles mound.” :)
Apparently, Yahoo!’s indexer supports marking specific content on a page as “extraneous to the main unique content”. This lets you prevent headers, navigation, and other types of site-level crud from overwhelming the content and the search results will excerpt only content that’s relevant to the page.
From the Yahoo! Web Crawler FAQ: “… apply the robots-nocontent attribute to indicate to search engines any content that is extraneous to the main unique content of the page. Yahoo! Search observes the class='robots-nocontent' present on XHTML elements, such as div, span, and all others.”
Joe Gregorio’s 14 minute video introduction to REST and HTTP.
The financial crisis explained using the crappiest cartoon stick figures ever. Also, the best overview I’ve seen yet.
That makes sense to me. Gizmodo seems to think ripping off all those people who purchased that crap is a better idea. I hate DRM as much as the next guy but that’s a really dumb take on the situation, IMO.
“Of course, Strunk and White, as the book is commonly called, has nothing to do with software (it was written in 1935) and everything to do with writing: grammar, composition, and style for users of the English language. But in its 100 short pages this book has more to say about the craft of software than many books you’ll find in the ‘Computing’ section of your local bookstore. All you have to do is replace a few key words throughout the text and presto! Pearls of software development wisdom, delivered in near-perfect English.”
I’m pretty sure this exact thought occurs to everyone that sits at a table connected to mine on a daily—maybe hourly—basis. I’m sorry!
Looks like a really solid improvement on 1.0. I haven’t had a chance to play with any of the betas but I’m anxious to see whether If-Modified-Since/If-None-Match validation made it in. There’s a note on “serving expired objects until we have a fresh one” but that sounds more like stale-while-revalidate.
“Varnish implementes a subset of the ESI Language 1.0 defined by W3C, this document lays out some of the thoughts and rationale for choices made and advice for usage of these features.”
This lets you perform includes at the cache layer so that each included resource can have its own caching policy. Akamai edge proxies have supported this for some time, apparently.
Using conditional comments to stick an “ie” classname on <body> so that you can target IE from a single CSS file instead of bringing in a separate stylesheet. Nice hack.
Sends an email notification when someone stops following you on Twitter. I don’t have the nervous system for it myself.
“… the implications of many of the scientific ideas and theories, whether mine or otherwise, are indeed immoral, ugly, contrary to our ideals, or offensive either to men or women (or some other groups of people). I simply do not care. If what I say is wrong (because it is illogical or lacks credible scientific evidence), then it is my problem. If what I say offends you, it is your problem.”
Same here. I’m still looking for techniques that would make my Ruby libs and apps as simple to follow, debug, and maintain as equivalent Python versions are naturally. Ruby’s module system and cowboy shit (instance_eval, modifying Object, Class, Module, etc.) can go to hell. Python + blocks + class scope + large community and I’m sold.
Tom Preston-Werner on how GitHub came into being and leaving Powerset after the Microsoft acquisition: “When I’m old and dying, I plan to look back on my life and say ‘wow, that was an adventure,’ not ‘wow, I sure felt safe.’”
There’s so many great workflow hacks in here.
Huh? In a sane world, “Ajax” would have been called “HTTP” (or, more elaborately: “JavaScript gets a mostly-standard asynchronous HTTP client library”).
At first I thought this was going to be one of those articles that confuses animated JavaScript effects for Ajax but it goes on to talk about how Ajax is bad because it breaks “Save Page to File” … or something. Save Page to File?!
Paul Downey translates Dr. Fielding’s REST APIs Must be Hypertext Driven into lay-hacker speak.
So I’ve been skeptical about Merb but I really like the world-view Ezra puts forth here: core framework code should be simple (no/little meta-programming), fast is good, Rack is awesome, etc.
Interesting Rails plugin from Viget Labs that adds ActiveRecord attribute helpers for various humane markup languages. The markdown variation supports both rdiscount and rpegmarkdown. Cool. Not sure how I missed it when it was released in August.
Real HTTP caching for Ruby web apps.
Much nicer, IMO. I’m interested to see if someone can get Rails + Rack::Cache working together so that you can maximize the benefits of generating these validators.
Pretty good introduction to building pieces of Rack middleware and using Rack::Builder.
So, I got an email yesterday disagreeing with my remark about HTTP caching being wildly under-appreciated in the Ruby web community. I felt bad, a little. Then I read this article (posted the day after my remark), which talks about Scribd moving to a Squid reverse proxy setup to front their Rails deployments:
“But there was a problem – no one uses caching proxies in 2008 :–) So, we’ve got an idea – why can’t we place such a server in front of our application and make it cache content for all users in the world?”
The fact that Scribd had to “have this idea” on their own and had not previously been exposed to a ton of literature/tools on reverse proxy / gateway caching is completely fucking unacceptable. I’m back to agreeing with myself.
Stefano Mazzocchi: “I have a much simpler and humble goal here: give programmers some tricks and some advice in how to proceed to make their web pages look cleaner, more readable and, hopefully, more professional, elegant and original than before.”
Ryan King nails it.
Allows a server to turn the tables and make HTTP requests to the client. I’ve been trying to come up with some use for this for 45 minutes and I’m totally baffled but it’s kind of interesting anyways.
Adam Gomaa: “… this state of affairs doesn’t really help my general feeling of hopelessness when it comes to programming – I know that no matter how good I get, I’m still stuck at being just one person, and the code a single person can write is pitifully small.”
I’ve come to the same conclusion within the past couple of years. I take on much smaller projects now and try to contribute more to existing projects rather than playing mad scientist on massive works that will never see the light of day. I’ve also come to appreciate the idea of paying lots of attention to detail on one small thing rather than churning out large quantities of half-baked features.
An interesting RubyGems mod by Fabien Franzen that seems to fix the memory hit a process takes on require 'rubygems'. Unfortunately, you have to code for it in your app and apply it to installed ruby commands explicitly. Fabien has submitted a ticket and patch to the RubyGems project, however. You should +1 it (after reviewing the code, of course).
Interesting approach to setting cache related headers using a Rack middleware component.
RDiscount, a fast Markdown library for Ruby, is now included with the FreeBSD ports collection thanks to Daniel Roethlisberger.
Includes a brief history of native support for getElementsByClassName in Mozilla and other browsers.
Laurence Tratt: “I had implicitly bought into the idea that C programs segfault at random, eat data, and generally act like Vikings on a day trip to Lindisfarne; in contrast, programs written in "higher level” languages supposedly fail in nice, predictable patterns. Gradually it occurred to me that virtually all of the software that I use on a daily a basis – that to which I entrust my most important data – is written in C. And I can’t remember the last time there was a major problem with any of this software – it’s reliable in the sense that it doesn’t crash, and also reliable in the sense that it handles minor failures gracefully."
You’ve got to be kidding me.
I’ve read about five extremely solid articles on this site (20bits.com) today; all thorough, easy to read, and cover interesting topics.
Kurt Vonnegut: “The most damning revelation you can make about yourself is that you do not know what is interesting and what is not.”
Sebastien Auvray covers Rack::Cache at InfoQ. Thanks!
An illustrated re-introduction to HTTP caching with a focus on gateway caches and their potential benefits within the context of modern, dynamic web applications.
Pratik’s first in a series of pieces on Rack: how it came to be, why you need to understand it, along with some simple examples. Future installments will cover Rack::Builder and Middleware.
BBC: “The paper quoted aides saying that his emails, sometimes sent as late as 0100 or 0300, were ‘generally crisp, properly spelled and free of symbols or emoticons’.”
Can you imagine?
Dear Mr. Karzai,
im in ur country, bombing ur lands. =p
k thx.
--
- O
Smashing Magazine shows off a massive catalog of minimalist designs and then attempts to deconstruct them.
I’ve linked to this before and I’ll link to it again.
Pratik continues his series on Rack with a deep dive into Rack::Builder.
“The syntax for many of the commands in bashdb mimics that of gdb, the GNU debugger. You can step into functions, use next to execute the next line without stepping into any functions, generate a backtrace with bt, exit bashdb with quit or Ctrl-D, and examine a variable with print $foo.”
Nicely done. I have to take a serious look at iUI one of these days. It sounds like you can get really close to a native app experience.
Xavier Shay:
Ticking off an amazon wishlist never really resonated with me, so this year here is what we are all doing instead:
- Find someone’s pet open source project – I’d start at github
- Contribute! It doesn’t have to be much – a spec or two, some documentation, or even just a “hey it works on my box”. Fork, commit, pull request.
- Wish them a Merry Christmas!
Great idea. I feel like I finally have something worthwhile to give this year.
The big day has come at last.
Best. Program. Ever.
An Nginx module that acts as a gateway cache. I haven’t tried it yet but it’s a really good idea.
Adam Wiggins and Blake Mizerany’s presentation on Sinatra and RestClient.
I never put it together that the teddziuba that wrote at lesscode.org in 2005 was that teddziuba. This is a great piece.
Nice look at caching idioms in Django and why you need to generate HTTP cache validators up-front and efficiently.
Rafe Colburn: “On the other hand, I find programming in Ruby enjoyable and educational, so it’s not like I’m looking to give up. It’s just that even after a couple of years of doing it, I still feel like we’re dating rather than married.”
It seems like a lot of people are down on Ruby at the moment. Odd. I’m actually more excited about Ruby than I’ve ever been. Things seem to be moving along nicely, especially on the web tooling front.
Bad-ass ActiveRecord extension that does read-through and write-through caching to memcached in a way that’s fairly transparent. This is one of the strategies the Twitter folks put in place recently to improve their response time and availability.
It’s really starting to come together, isn’t it?
Rails riding on Rack is going to be a big deal.
David Heinemeier Hansson: “Rails Edge adopted Rack a while back and we’ve been exploring ways to expose that better. The first thing we did was to make it really easy to hook up any piece of Rack middleware in front of a Rails request. In your config/environment.rb file, you can do: config.middlewares.use(Rack::Cache, :verbose => true)”
Oh hell yes.
Peter Cooper: “Lots of awesome articles about Sinatra, Sinatra apps, and various links and resources have cropped up over the past few months. The remainder of this post links to the best we’ve found – most of which you should find useful as you start to explore Sinatra in detail.”
Jean-Jacques Dubray: “How do the RESTafarians work? They take Roy’s REST, they try to use it for anything in their day to day activities, and then when they stumble upon a problem, they try to find a more or less ‘RESTful’ solution and post it on a blog.”
Precisely!
Jon Crosby’s RESTful JSON-based data store with OpenID and OAuth support. It does versioning and produces HTTP cache friendly responses all in a Rack middleware component. Jon’s been working on this for some time and it shows in the code and docs. Awesome.
Awesome photo of Obama addressing a massive crowd in front of the Old St. Louis Courthouse — the same place slaves were being auctioned as recently as 1861. Crazy.
“Built with Rack Middleware ONLY (Rails 4.0)”
Mailing list for Rack::Cache users and hackers. Come on in, the water’s warm.
“The reflexive reverence for Revolutionary Road is a testament to the degree to which antisuburban sentiment is one of the most unexamined attitudes in American culture.”
I almost died.
Christian Neukirchen’s Ruby styleguide. The best I’ve seen.
A much more sober but constructive take on the plan to merge Rails and Merb.
Nick Kallen has started a project to implement a HTTP cache in Scala. Seems like an excellent idea given Java’s extensive collection of stable HTTP server libraries and Scala’s strengths in concurrency and performance.