Gmail, whose Tuesday downtime had everyone chuckling, wants to remind the over-forty bunch this April 1st how stupid it is to print all your e-mail.
Gmail, whose Tuesday downtime had everyone chuckling, wants to remind the over-forty bunch this April 1st how stupid it is to print all your e-mail.
Newish Wicket user shows how Wicket can improve a UI by making it easier to do the right thing. Notice the buttons that became links; you can swap buttons and links in Wicket with no structural changes. (But never use links for destructive actions on crawlable pages!)
Newish Wicket user bites back! (Just kidding, Peter.) Actually, (he writes) those buttons are still buttons, just newfangled image buttons. Coderspiel stands corrected, and will let Incremental Operations make its own points about Wicket facilitating good interfaces from now on.
Oh my God Databinder is worth $165,585. We’ll try not to lose it all at the blackjack table. (Trust me, dude, I have a system.)
Beans Binding gives Swing something like Wicket’s compound property models, and more. Like tying the enabled property of one component to selected of another. I’m not sure if that’s a great idea; I think I’d rather have less-chunky anonymous subclassing—and we’ll get there with Groovy. (Beware of actually reading the above linked post; as the author warns, his “blogs” are meandering.)
Meraki’s mesh networking, which we looked into last July, has a network in place at an SFO housing project as reported in Wired. I believe that mesh technology will eventually bring free, fast-enough connectivity to all human settlements; it’s the next stage of civilization.
mod_jk is cursed (it is!) so I use mod_proxy, but with that setup the servlet spec’s getRemoteAddr() method will report the proxy’s address. Spam happens, so I’m getting the real one from the X-Forwarded-For header. WebClientInfo might want to do that for us, hmm?
CompoundPropertyModel just changed again on the Wicket 1.3 snapshot. Having getObject() return the exact contained object (model or not) makes some kind of sense, but the change provokes all kinds of runtime-only bugs. Took me an hour to tease ’em out of Typeturner.
Daring Fireball on the Apple TV: “because it’s Mac OS X, if you want to hack on it, you can… Apple’s stance on Apple TV hacking is clearly neutral, not antagonistic.” And that’s a relief! Maybe once the iPhone ships we’ll learn that griping about it being closed was premature. But Coderspiel is sticking to its prediction of (not okay) Dashcode-widget-only openness.
Just accidently dropped my Typeturner database, including this hefty post I had just finished. Restoring from last week’s full harddrive backup and the InnoDB binlog took me an hour to puzzle through, but I got it all back. No more command line use while sleepy!
A List Apart has posted some tips for mapping Web layouts to regular vertical intervals. I’ve been working towards this ever since that contentious Web Design is 95% Typography post pointed me to these lofty typographic decrees. I failed to enforce the grid across columns, but I’ll give that another shot with ALA’s help.
You are watching org.apache.wicket. As Martijn reported, Wicket has flipped the big red namespace switch. Databinder hastily made the needed adjustments. Coderspiel upgraded immediately too because, hell, nothing was working around here anyway.
Even our RSS feeds existed in the wicket namespace! Drat. Redirects are in place, service is restored. Again.
Eelco on statefulness: “objects are stateful by definition. I wouldn’t label Click OO, as it doesn’t support automatic state management … one of the central concepts of Wicket.” That’s a great, tidy response to unending demands that all things be stateless. (Mine of last year was much longer.) Still, many people don’t care about OO—they will be replaced.
Waffle has some harsh advice for Apple that makes a lot of sense when you consider the barges full of gold they are making off consumer products vs. the beer money they earn by pissing off everyone with QuickTime “Pro” and .Mac.
Javalobby: “I personally do not want any new features in Java 7.” What else are software releases for, we wonder? Boiled down, the post is arguing for no new releases of Java at all, concentrating instead on entirely new languages for the JVM. That’s almost reasonable, but reading between the “pays my bills” lines we see yet another sad programmer resisting change, hoping to shuffle on to retirement without learning any snazzy “new” language structure.
Damn iPhone delaying our OS upgrades. And where is my non-ancient Mac mini?
Bring out the sad trombone sounds! An interesting looking project is considering switching from the dead Wicket 2 branch to GWT. This was bound to happen. Even though the cost of switching back to 1.x is not high, it requires a project to reassess its dependencies, with Wicket having publicly flip-flopped and the Google death star orbiting overhead.
Rails vs. Seaside, stateful vs. stateless, oh my! We’re coming in late to this story, and should have been paying more attention to to Seaside. Maybe Seaside gets HTML wrong (it’s entirely generated instead of using templates bound to code by identifiers) but it attacks Web application state the same as Wicket, and its fans make the same claim that Rails is too conventional as Coderspiel does—except they got D.H.H. to respond!
This interview with Seaside’s creator is great reading if you care about component programming and the future of Web programming (same thing, right?). It provides a good defense of generating all markup in program code—but we’re not sold.
Aieeee, now D.H.H. has posted to say that there is no “row” between Rails and Seaside. (A.T. said the same earlier.) Guys, it’s just an angle—InfoQ writers gotta eat too! This story/non-story is giving Seaside more exposure than it’s had before, and Rails is having to think about life beyond fake-MVC. What’s not to like?
Google buys DoubleClick. What are they going to do with all the less-than-stellar programmers that will come with the deal? Welcome, Google, to the disheartening world of dead weight.
Amidst all the Mac OS X delay sadness, I forgot that we are still waiting on Java 6, expected to be bundled with 10.5 (even tho the long-finished betas ran fine on 10.4). Back to your old tricks, Apple?
Bryant on VM speed: “one thing that’s wonderful about both Smalltalk and Java is that all of their libraries … are implemented in … Smalltalk and Java. That’s possible because the underlying execution machinery is fast enough… That’s a crucial threshold, and it’s one that many languages, including Ruby, have not passed.”
The Dodgeball boys quit Google. Guess they didn’t want to share the office with all those DoubleClick copy & pasters. (Actually though, the truth is more shocking! Working for Google was “incredibly frustrating.”) [via df]
Uhh ohh, it’s a Rails inefficiency dog pile!
NYT quoting some “Dr.” about why too few women go into programming: “They think of it as programming.” Daring Fireball responds, “Um, maybe they think about computer science as programming because it is programming? … It’s like saying that people are discouraged from becoming surgeons because they think of it as ‘cutting people open.’” Yay, we finally totally agree with Gruber on something again. “Programming” is Coderspiel’s favorite, unapologetic word for the magical work of writing of computer software. Screw anyone who’s ashamed of it.
More from that misguided article : “The Advanced Placement high school course in computer science may be part of the problem, according to Dr. Cuny. ‘The AP computer course is a disaster. It teaches Java programming, which is very appealing to a lot of people, but not to others.’” So true! Instead of teaching Java, or programming in any other lanugage does not appeal to all humans, we should be showing programming students more videos about the miracles of computing.
Giles Bowkett is looking for a good argument against REST, but he already has one in calling out its dogmatism. REST’s demand of universal adherence opens up infinite counter arguments including, “Why should the admin side of my site be ‘RESTfull’ when it’s easier to code with state?” and, “Why should I avoid XML-RPC in cases where that is the easiest, best answer and I don’t care if anyone else can access it?”
Thought Palace suggests that Twitter should be using file representations of queues instead of a database, and that Web coders are bunch of DB-crazed one trick ponies. Addy’s comment beat us to pointing out that this method stores messages n (number of subscribers) times instead of just once in a DB—not that that seals the deal or anything, but neither does a lookup-only evaluation.
Wicket Diary has posted a Wicket roadmap. 1.3.0 beta coming soon—what a relief! I’ve had about enough snapshot-riding for a while. Of course, the second there’s a new branch with generics we’ll jump right back in there.
Safari vulnerability found to win $10,000, and the vulnerability is in Apple’s Java implementation. What’s next for the Apple-Java soap opera—we find out that Microsoft has been the virtual machine’s father all along?
We’re running Feisty Fawn on technically.us now. The upgrade was smooth, by the standard of “my headless server could boot and I could ssh back in.” I was surprised by Apache 2.2 proxy options having new names and some other package-related bumps, but overall Ubuntu has gotten this upgrade thing down to a predictable chore.
Wicket 1.2.6 is out. Databinder 1.0 still compiles against it so I guess we’re fine. (Let us know if that’s not the case!) My finger held to the wind tells me the 1.3.0 API disruptions are over, so now might be a good time to start migrating to Databinder 1.1 and Wicket 1.3.0 snapshots (if you haven’t already) to get a head start on the coming beta.
Rant about non-coding tech wannabes and the things they get wrong: “Then along came XML … Their retarded, verbose hunchback version of s-expressions has now sunken its rotten teeth into every corner of the computing industry.”
J.L. is making a class to build JavaScript source in Wicket. I guess we’re all guilty of ad-hoc string splicing for that task (as I did for JavaScript RSA). Thanks for doing it the right way, Jon. I look forward to using it!
The just-released web-dev swiss army knife Coda would be really sweet for working with Wicket’s regular HTML templates. Lately I’ve been disappointed with the rough spots in the Aptana HTML editor (always-wrong tag completion, for one thing), but then it is $70 cheaper than Coda. Update: Actually, never mind! For $70 I want SVN integration, not freaking FTP.
Coda is like a Visual InterDev for PHP, modernized and cocoa-fied. For some people that’s a good thing, others bad, and Java programmers probably a “huh?” thing. InterDev was effective for speedy Web shops that employ more HTML writers than coders. (I never used its .NET successor.) Everyone would edit ASP files on a central server and be able to render them immediately after saving, without having to maintain personal app servers. We get the same thing with Wicket’s regular HTML templates, except for the good/bad live aspect of everyone working on the same codebase at once. (You could probably get that too by tricking out Subversion.)
Phaux is a new stateful, PHP-based (don’t freak out—it’s not even the first) webapp framework that follows in Seaside’s no-template footsteps: “The HTML generation is programmatic, no templates, allowing the developer to think of code and not layout. CSS has matured enough that it should be used for layout exclusively.” Good luck with that! Excuse me while I add some wicket:id attributes to a complicated HTML template that was produced before I started on app code.
A nice person from Aptana got in touch to find out what “rough spots” were bothering me. One thing was it red-flagging wicket: tags, and he pointed to an Aptana feature to ignore certain error messages. An ignore string of .*wicket:.* does the trick. I’ve also found that automatic closing tag insertion (which happens immediately after you open a tag) was the source of much of my frustration, so I’ve turned it off. With those changes, Aptana has as good of an HTML / Wicket template editor as any I’ve used.
Waffle praising Coda: “even if someone builds a WYSIWYG editor that works really really great … what if you stick that in a PHP include file? A Rails view? A Django template?” Who knows! If it’s a Wicket template it will render fine. (Tho we prefer split panel previews.) All this contagious Coda gushing shows is how much people need real HTML templates, whether they know it or not. Overactive FTP is a kind of hilarious solution to that problem. Yes, that is how many people work, and we don’t claim to be above it, but it is not the only way web development is done.
An OpenID server is now running inside Typeturner, using the sxip library. Once I get it passing all of the tests I’ll do a write-up.
Typeturner’s OpenID server is actually a WebPage subclass, because it was going to be tricky to send browsers to a Wicket page from a Resource. As a page, it can respond with text/plain, HTTP redirects, or forward to the authorize page. All the OpenID tests are passing; it’s time to start asserting the technically.us/code identity. See you around!
Databinder snapshots have gained a tiny TagField component. It’s for entering a comma-separated series of strings to be converted into a Set<String> property of any class. After toying with tag classes marked @Entity or @Embeddable, I realized they weren’t really giving any advantage over plain strings (if I index the appropriate column). Only thing is, the TagField class has to resort to some Panel and IModel contortions to get its work done, because you can’t setup a Wicket converter for something like Set<String>. (Suggestions welcome.)