Domain: emacswiki.org
Stories and comments across the archive that link to emacswiki.org.
Comments · 181
-
The Doors SVG Opens Up
When you open up the SVG door, you don't just make space for "pretty pictures." You ALSO get,...
- Visual Programming Languages - because they're so easy to make, once it's easy to move shapes around on the screen and aggregate diagrams.
- non-boxy user-interface - look at the UI all around you- it's characterized almost exclusively by boxes. Many problems are best described by hooking pieces together, spatially. But our UI is all set up for entering or selecting text into boxes.
- Graphs, graphs, graphs - as in circles connected by lines. Collaborative organization of ideas on a spatial surface.
As SVG comes on line, at both the web-browser level and the desktop-programming level, and as people become proficient in these things, we'll make a major step forward in user interface.
Working with graphs will change the way we think. Our tools have, so far, afforded creating hierarchical structures. That is, it's far easier to express hierarchy with text editors, than it is to express network. Hierarchy is fine, but it's only part of the picture. The other part is more-biological looking network organizations. As the tools come online to create biological organizations (as we see appearing in message-oriented programming models, component based developments,) we'll think about programming (and perhaps our world) in very different ways.
To make this a little clearer: If you look in magazine articles where they're discussing programming architecture and software layout, you're going to see lots of 2D diagrams with lots of pieces plugging into other pieces in a graphical layout- sort of like a circuit board. This is different than the way we have traditionally programmed, which is more like a tree shape. Even within object oriented programming, because our interface still affords tree layouts. Where we have explored beyond tree layouts, (complex networks of design patterns,) we have struggled with the user interface, and people have stretched out to make better representations that capture graph-like programs: Think of your clumbsy UML editors, and things like that- really trying to hack a solution between more-or-less linear code expressions, and the 2D graphs that we're thinking in.
When SVG is well understood, documented, with tools at desktop and web levels, we should start to see native 2D programming languages, that don't feel like either toy languages, or cheap hacks riding on top of other programming languages.
I've written more about this at Futures:SvgRevolution.
-
Re:Is the future of enterprise IDE open?
If you hate vi you might want to try emacs. It can do almost everything any modern GUI can and works with all languages known to mankind. Lots of information about it is available here. Be warned however that it might require some editing of config files to put together the perfect feature-set for your needs.
-
Re:the user's perspective
I maintain a personal information manager. We encourage people to send even their silliest ideas to the mailing list. What seems frivolous to one might be incredibly useful for other people, and I've implemented half-jokes that turned out to be incredibly cool things. Code complexity is kept manageable through liberal use of personal configuration files. =) Basically, it costs the rest of the community nothing if I add additional features for just one person. One of my goals is really to tailor Planner to the needs of individual users, so even if code is useful for only one person, I'll still try to write it or encourage other people to try it out. Our community is a fantastic example of user-driven innovation. =) This environment has not only encouraged people to think about personalizing their PIM to fit the way they work, it has even gotten non-programmers and newbies to explore LISP. People describe themselves as addicted to Planner! =) User-centered development makes maintaining software so much fun.
-
Re:perl6 is a mistake
If you use tabs consistently for indentation
Repeat after me:Tabs Are Evil -
obligatory emacs link
-
obligatory emacs link
-
Re:Some people don't want to botherBut in emacs, it's as simple as C-x v v. Really, it's almost as quick as saving the damned thing. Then your problem switches to "how do I get people to write coherent log messages".
Uploading the code shouldn't be a developer problem, even though it usually is. There aren't enough people who can distinguish between deployment and development.
-Dom
-
Re:fluxbox
Making fluxbox and its kin usable winds up requiring I run half a dozen other apps. Xfce is those apps, bundled together. You can think of it as Gnome done right.
Incredible! Does this mean a base installation of XFce includes Firefox, Abiword, Emacs, GVim, The Gimp, GPhoto, Inkscape and Scribus? These are the apps I require in order to make Fluxbox usable.
-
Re:Are tools a crutch?
You're probably wasting a lot of time trying to remember if it's put() or add() or addElement()
You are right, it shouldn't be necessary to remember those. That is why most other language use a consistent naming scheme in their standard libraries and publish a style guide or something similar for third party library development. Java is terribly inconsistent in this matter, probably because they had too many designers working on the language instead of one person deciding these things.a primitive tool such as emacs/JDEE
If you would look behind the first few hours of Emacs usage you would know that Emacs is propably the most advanced development environment today. You can automate pratically everything and there are modes for almost all the features your typical IDE offers. In addition you can customize it to fit your personal style AND the most important feature of all for software engineers choosing the right tool (language) for the job: you can use emacs with almost every language out there without relearning everything. For further information you should look at http://www.emacswiki.org/ -
Re:It's already here...
And, if you haven't been properly introduced...
-
How fast can you Scan a Videoblog?The same criticism of audioblogging also applies to video blogging.
Think:
- scanning, skipping
- average reading speed: 150 wpm
Audioblogging's limitations can perhaps be alieviated by Audioblog mixing, with something like UserRadio, or playing the audioblogs at high speed.
You might be able to extend video with that, but I'd probably rather just cut the visual, so I could do other things at the same time. -
Re:Somebody Explain Wikis, Pleasewikis can be used for a couple of other things besides FAQs:
whiteboard of the internet
like the whiteboard in your hallway, except that it's online, it's for text instead of drawing (usually), it's hyperlinked, and it archives all of the content and lets you "diff" between versions. wikis in this mode can be used by a project team to keep track of ideas and to share documents like to-do lists
message board/usenet newsgroup, but more organized
wikis can act like a message board, except that instead of posts being organized by date, they are organized by subject. this lessens the tendency of the community to rehash old conversations every few months -- instead of old conversations being buried in the archives, they are still right there on the relevant wiki page.
see MeatballWiki for a great example of a wiki which is used to discuss things without old topics being "buried in the archives".
incidentally, a discussion on the relative strengths of discussion board software and wikis for the task of holding an online discussion can be found at CommunityWiki:DiscussionBoardVsWiki
-
Emacs Wiki Mode saved my life!
Seriously, if you use Emacs and like to keep notes on variou things, such as work, do yourself a favour and grab Emacs Wiki Mode.
It lets you set up a private Wiki, with each entry just a regular old text file. Honestly, I've spent a lot of time in the last decade coming up with my own record-keeping and note-taking tools and after I found out about Wiki, and especially Emacs Mode Wiki, I've never gone back to older techniques.
-
A couple of useful Lisp resourcesI'm sure the author of the parent to this comment is already well aware of these, but I'll point out some great Lisp resources for anyone interested:
- CLiki, the Common Lisp Wiki
- Paul Graham's articles about Lisp
- Paul Graham's book, On Lisp
- The Emacs Wiki
-
Re:Obligatory book reference
'Doze services for Unix. But why? Just get MinGW. Heck I even compiled emacs from source, which was something of a tooth extraction.
Granted, Cygwin would've been easier, but it ain't called easemacs... -
Re:Push, not pull!
You might want to investigate DingDing, an Event System.
It supports XML-RPC, Query -based Subscription, and Transparent Messaging.
I'm in the middle of working v5 of it, which has a more consistent API, security and privacy features, and more "exhibition" as well- you can look at the server, and see who's subscribed, get a whole lot of other data as well. It also has an ULI port, so it's easy to query from Jabber, IRC, the command line, wherever you can communicate a line. -
PlannerModeI maintain planner.el, an organizer for Emacs. Although it was originally written to support the Franklin-Covey method and other ways of planning, some of my users have looked into using Planner to support the Getting Things Done method. Because planner.el stores all of its information in plain text files with a little markup, it's been easy to adapt to people's particular styles. Our mailing list has around 80 people from around the world. I love trying to get planner.el to fit people's working styles instead of forcing a particular method on them. =)
-
Re:Not really that odd - Emacs did it already
The One True Wiki has answers to some of your omissions...
-
Dream IDE?!?The article goes on about a supposed 'dream IDE.' Well, when I dream of an IDE I imagine one which can be run across a tty, accessed from around the world; one which doesn't require mondo resources.
I dream of emacs. Actually, I don't dream of it--I just use it. Can KDE's tools perform an interactive diff? Does the text editor integrate with CVS such that check-in/check-out is instantaneous? Do they abstract away remote acess issues such that anything FTPable appears to be on my local machine? Are they dynamically extensible in LISP?
Folks, desktop GUIs are just Way Too Big. And not nearly powerful enough.
-
My ideal text widget...
would allow me to connect it to an emacsclient session. That way I can take advantage of all the goodies I have loaded into my main emacs session, have seamless integration with my kill and search rings and not take a year and a day (er, 10 seconds) to load.
I can only hope that the interfaces necessary to do this will fall out of this work.
-
Re:Word of wisdom: emacssmitty_one_each wrote:
The more you use it, the more you use it. Out of the box, it might not do much of anything you want, but few problems you can envision haven't been solved.
Okay, this is *somewhat* informative, but not terribly. First of all, try labeling your html links with something, that might, you know, *tell someone something about where the link is going*: EmacsWiki: CategoryKeysSecondly, there's an awful lot of information there, and what's strictly relevant to the question at hand is getting C-c and C-v to do copy and paste: CopyAndPaste. Note that this discusses cua.el, a package written by Kim Storm (also, by the way, the original author of the excellent usenet newsreader "nn") to get emacs cut-and-paste to behave more like the way a windows user would expect.
The Emacs Way of doing these things can be taken as yet another paradigm, by the way. Unlike the old windows and mac "clipboards", the emacs "clipboard" can have multiple things clipped to it... it's called the "kill-ring", and it's essentially a stack that you push things on to. Select a region, "kill" (aka "cut") that region, it ends up on the kill-ring. Do that again, and that entry is pushed down one, and the new selection ends up on the kill-ring. Move somewhere else, and you can "yank" the last thing killed off of the kill-ring, and if it wasn't what you wanted, you can do a "yank-pop", and start rotating through the stuff on the ring until you find what you were looking for.
Now (with Gnu Emacs 21, at least) the "PRIMARY" selection in X is associated with the top element on the "kill-ring". Do a "kill" in emacs, move to an X app, do a middle-click, and you should get the item that was just killed. Highlight something in the X app with the mouse, switch to emacs, do a "yank" command, and you'll get the item that was highlighted.
This, of course, just scratches the surface of emacs capabilities in this area... I've become a big fan of the "registers", i.e. the ability to store something in register "a", and something else in register "b", and something else in "c" and so on, and to be able to insert them by name. For example, when writing a bunch of slashdot postings, the "b" register tends to have the BLOCKQUOTE html tag stashed in it.
-
Re:Word of wisdom: emacssmitty_one_each wrote:
The more you use it, the more you use it. Out of the box, it might not do much of anything you want, but few problems you can envision haven't been solved.
Okay, this is *somewhat* informative, but not terribly. First of all, try labeling your html links with something, that might, you know, *tell someone something about where the link is going*: EmacsWiki: CategoryKeysSecondly, there's an awful lot of information there, and what's strictly relevant to the question at hand is getting C-c and C-v to do copy and paste: CopyAndPaste. Note that this discusses cua.el, a package written by Kim Storm (also, by the way, the original author of the excellent usenet newsreader "nn") to get emacs cut-and-paste to behave more like the way a windows user would expect.
The Emacs Way of doing these things can be taken as yet another paradigm, by the way. Unlike the old windows and mac "clipboards", the emacs "clipboard" can have multiple things clipped to it... it's called the "kill-ring", and it's essentially a stack that you push things on to. Select a region, "kill" (aka "cut") that region, it ends up on the kill-ring. Do that again, and that entry is pushed down one, and the new selection ends up on the kill-ring. Move somewhere else, and you can "yank" the last thing killed off of the kill-ring, and if it wasn't what you wanted, you can do a "yank-pop", and start rotating through the stuff on the ring until you find what you were looking for.
Now (with Gnu Emacs 21, at least) the "PRIMARY" selection in X is associated with the top element on the "kill-ring". Do a "kill" in emacs, move to an X app, do a middle-click, and you should get the item that was just killed. Highlight something in the X app with the mouse, switch to emacs, do a "yank" command, and you'll get the item that was highlighted.
This, of course, just scratches the surface of emacs capabilities in this area... I've become a big fan of the "registers", i.e. the ability to store something in register "a", and something else in register "b", and something else in "c" and so on, and to be able to insert them by name. For example, when writing a bunch of slashdot postings, the "b" register tends to have the BLOCKQUOTE html tag stashed in it.
-
Re:"Correct?"-- A bit off topic, a bit flame-yI shall cite to you from the EmacsWiki:
What you call "Windows" is just one of many window systems that has come in and out of fashion during the lifetime of Emacs. Emacs (in one version or another) has supported most of them, SunView, NeWS, X10, X11 (Open Look, Athena, Motif), PM, Win32, Mac. Emacs has provided a sound foundation that has allowed programmers to be productive with all these, and will also provide a foundation for whatever window system will be hot tomorrow.
What Emacs doesn't do is to give up that foundation in order to follow the latest trend. Instead, it incorporates what is good and compensates for the rest. This -- of course -- will make Emacs feel "old" for the followers of hype, but the wise will see its intrinsic power and lasting value.
-
Word of wisdom: emacs
The more you use it, the more you use it.
Out of the box, it might not do much of anything you want, but few problems you can envision haven't been solved.
Only thing I haven't seen yet is a PalmOS version, so I can run it on my Kyocera7135. Got one of those external keyboards; but, hey, that's motivation to figure out how to configure a GCC cross-compiler and add something to the emacs canon.
Other than PalmOS, emacs is OS and window-manager (if any) agnostic, and comes with a ridiculous menu of existing tools.
Go, emacs. -
Re:Also check out Ion and ratpoison...and also join the effort to create an emacs window manager (that is, an window manager written in elisp):
http://www.emacswiki.org/cgi-bin/wiki.pl?XWindowE
m acsManager -
Evil plot revealed:First, people make an Emacs clone for MIT Scheme (Edwin).
Then, some other people implement a shell and several command line utilities in Emacs Lisp (EShell).
Then some other people implement a Scheme system inside the Linux kernel.
Secret long-term goal: create a self-sufficient Emacs (codename Emax) that boots, thus obtaining the One True OS!
:-) -
Re:Just about any modern text editor will do...
Indeed. The trick is just getting things tweaked to suit your tastes.
For a number of packages and tips that should help you do what you want to do, check out the Display category of the Emacs wiki. There you'll find all the stuff you need to set up more scrolling options, nice fonts, display preferences, even moving the mouse out of the way.
I'll also second the comment made elsewhere here that using a light-on-dark colour theme feels easier on the eyes to me (I like blue-sea). -
Re:Just about any modern text editor will do...
Indeed. The trick is just getting things tweaked to suit your tastes.
For a number of packages and tips that should help you do what you want to do, check out the Display category of the Emacs wiki. There you'll find all the stuff you need to set up more scrolling options, nice fonts, display preferences, even moving the mouse out of the way.
I'll also second the comment made elsewhere here that using a light-on-dark colour theme feels easier on the eyes to me (I like blue-sea). -
Single program?Rather, the company thinks, a single program should handle it all.
This sounds like Emacs. Text editor, spreadsheet, email client, and even more.
-
Single program?Rather, the company thinks, a single program should handle it all.
This sounds like Emacs. Text editor, spreadsheet, email client, and even more.
-
Single program?Rather, the company thinks, a single program should handle it all.
This sounds like Emacs. Text editor, spreadsheet, email client, and even more.