Programming archive
File I/O in widgets and the browser
2008-05-07 20:28
Ok, so I had a somewhat mystically titled presentation at XTech, titled Going full circle: Giving Web Applications and Widgets access to device and user data. The slides are here (Should work reasonably well in Firefox, WebKit and Opera — does not work in IE. Navigate with PageUp/PageDown or the mouse wheel)
What the presentation was actually about was File I/O in the context of the browser, or more specifically, in widgets. We produced an input paper to be picked up for standardization.
Further, we will release builds on labs.opera.com shortly, so you can get to play with it shortly, and hopefully also with some example code, so you can get your heads wrapped around this.
Edit: There are now public builds for you to play with here — have fun
I see a shitstorm coming
2007-03-15 10:17
I just noticed this assertion of intellectual property rights on canvas from Apple, Inc (That is, they claim to own patents on the technology). Without elaborating further, and only speaking on behalf of myself: This has the potential to make people upset.
Editor love, baby
2007-03-08 15:48
I recently asked for a good editor that was not VI, Emacs or a couple of other alternatives. Kevin pointed me towards Komodo Edit from ActiveState. A big thank you, Kevin. This is Editor Love.
The feature list gives some indication of what it can do, I’ll add my own list of things I like.
- Cross-platform
- Emacs style keybindings. Note that they’re not the same keybindings by default, but all of the keybindings are customizable, so you can quite probably make it work exactly that way.
- If your inclination is towards VI, there is a VI mode for you.
- Good support for client-side web technologies: HTML, CSS, JavaScript +++
- Good autocompletion and code intelligence. There are default API catalogs for Dojo, MochiKit, Prototype and YUI, which makes it especially good for JavaScript developers. If these aren’t enough, you can add your own.
- Indentation and code folding Just Works™ — which is more than I can say about some of the other editors I’ve tried.
- Snippets. I write a lot of stuff involving angle brackets. The snippets function is wonderful. For instance a
<em>[[%(w:else:)]]|</em>(The ‘|’ represents the cursor position after snippet insertion) would take the word under the cursor, wrap it in an<em>— or, if there is a text selection, wrap the selection. - Macros. This is just wonderful. You can, of course, just record and save them, but in addition you can write them from scratch in either JavaScript or Python. I should add that the API is quite nice.
- You put your macros and snippets in Toolboxes, which can be moved between Komodo Edit installations.
- Extensions. Yes. All Firefox-style extensions, but this is fairly undocumented, so I’ll just add it as a potential future plus.
- User-defined language support so if you need that COBOL mode, you can have it.
- Custom XML autocompletion using XML Catalogs using either DTD’s or RelaxNG.
- The snippets, macros and XML catalogs makes this editor an excellent choice for anyone doing lengthy editing of anything with angle brackets.
- Split view with separate tab groups. Also note that insertion points and code folding is bound to the view rather than the document, which is decidedly useful if you want to look at function definitions when you edit in the other pane.
- Free as in Beer.
Ok, before I start sounding religious, there’s downsides:
- Extensions documentation. Either the mechanism is undocumented, or the documentation is hard to find.
- Memory. Komodo seems to use a lot of memory, but the memory usage stays relatively constant once the application is running.
- A Mac-using co-worker claimed Komodo Edit looked a bit off from what he’s learnt to expect from OS X applications.
- Not Free as in Speech.
- If you want to go all the way and use the Komodo IDE, the price is fairly steep at $295. I could’ve wished for more differentiated pricing for personal use vs. professional use.
All-in-all, I think Komodo is an excellent alternative for people serious about editing both code and text. Yes, that’s even if you use Emacs or VI. If you’re using any other editor than those two, just switch to Komodo. Today. It really is that good.
Just gimme a good editor, dammit
2007-03-05 16:32
Ok. My frustrations are now permanent. I’m looking for a good editor. One that serves the dual purpose of both being good at editing stuff with angle brackets, and that is more than half-decent for client-side web programming, plus some occasional Python
Before anyone suggests anything at all, here’s the list of what I don’t want.
- VI, VIM or any related editor: Having to make your own parchment, ink, and quill, and then persuade elves to hide and retrieve your documents from their secret cave in the enchanted forest would be a major improvement to using vi to edit files on any computer system.
- Emacs. I used to use Emacs years ago, and if I have to edit anything in a shell, I use Emacs because I can’t stand VI. Emacs on Linux, even the Emacs 22 snapshots look like a total ass on any system I’ve tried it (Yes, I have tried this, but that particular package refuses to provide anything but some proportional font, no matter what I put in .Xresources). While the menus now use pretty fonts, the actual text you edit looks like shit. Add to it that Emacs is not particularily good at editing HTML. Plus, configuring Emacs is a major pain, and rather than spending a couple of days setting it up properly after having avoided it for anything but editing cron jobs and .htaccess files, I don’t want to redo them all. Nor do I want to spend time writing a decent JavaScript mode. I know one exists, and it’s not decent by any means. (Nor do I have the neccesary lisp-fu to do so).
- Bluefish. I gave up on Bluefish back when it crashed if you pressed “Esc” when a warning dialog was open. I don’t miss it.
- Screem: By default, it uses almost all of my screen estate on icons, is far too “friendly” (no, I didn’t want to close that tag, dammit. Listen to me. Listen to me.), is wizard and click-oriented and lacks elementary text editing functions.
- Anjuta: While venting my editor frustrations on IRC, I installed Anjuta, tried to open an SVG and ran away in horror. I might sound superficial, but when the color sense of the developer of a tool is this hideous, I don’t actually trust that he knows what it means to edit anything at all.
- SciTE: Since switching from Windows, this is what I’ve mostly been using, mostly because it doesn’t attempt any hand-holding. It is however missing a few features, and writing markup can sometimes be a bit painful, because keyboard shortcuts are a bit missing, especially ones special to editing markup. Plus, it’s wrapping functionality borders on braindead. The only options you have is either to have wrap on or off, which means screen edge, not word wrap after some specified column.
But, instead of ranting, I am repeating what I did with Media Players, ask. Are there any non-sucky editors out there? Please don’t suggest Kate, I know a few people are satisfied with it, but KDE is going nowhere near my boxes. Nor is suggesting Eclipse any good, because while the editing facilities are OK, it’s totally overkill, and for editing out-of-project static markup documents it’s certainly not suitable.
So, what do I want? When I still was a Windows user, I mostly used EditPlus, which was well-suited for what I do, but running it under Wine is sadly not an option. An editor should have a featureset similar to EditPlus, UltraEdit and similar editors.
Steve Yegge talks about ECMAScript 4
2007-02-11 15:50
Link: Steve Yegge talks about ECMAScript 4
Steve Yegge writes about the “Next Big Language”. Even if he’s attempting to not disclose what he thinks it is, I’m pretty confident he’s talking about ECMAScript 4, which has the big industry backing needed to be a Big Language.
The WHATWG Blog
2006-11-14 10:03 – Leave a comment
Opera Graph Library
2006-11-06 15:17 – Leave a comment
Opera Developer Community site launches
2006-11-01 13:29 – One comment
Opera launches a beta of the new Opera Developer Community site, named Dev.Opera. Here's a quick walkthrough
Event Streaming in Web Browsers
2006-09-01 17:29 – Eight comments
One cool feature we added to Opera 9 is Server-Sent Events from the WHATWG Web Applications 1.0 specification. Using SSE you can push DOM events continously from your web server to the visitor's browser. This creates a lot of exciting opportunities for web application authors.
Aptana
2006-07-25 15:37 – Leave a comment
Opera 9
2006-06-20 10:26 – Seven comments
Opera 9 is out. Go get it: Widgets, BitTorrent, improved standards support
Create a widget, win a PC
2006-04-11 14:35 – Leave a comment
In conjunction with The Gathering, Opera is running a widget competition, with a rather extreme gaming PC (worth NOK 36000) as a price. Competition ends April 15, so hurry.
Web 3.1415: Ajax, Ook! and Brainfuck
2006-04-02 17:08 – One comment
A library to assist in authoring Ook! and Brainfuck files for use on the Web 3.1415. Because authoring Web 2.0 apps has become all to easy.
Opera Platform SDK - Not your momma's Ajax
2005-11-15 09:00 – Seven comments
It's time to introduce to the world what I, and the team I'm working with are doing at Opera: The Opera Platform SDK, an advanced web application framework for mobile devices.
The "damer" programming language
2005-07-09 20:53 – Leave a comment
Google AJAXSLT
2005-06-23 18:26 – Two comments