Read the Prologue. Read the last two chapters. You missed ABSOLUTELY NOTHING in between. At least, that's how I did it.
I actually would disagree with your summary. The first book was excellent and fast paced. 2-4 strike me as similarly paced and 5-8 start to really drag, mostly because there are 1-2 excess plot lines. Drop the threads you aren't enjoying (I drop Perrin, ZZZZ) and the pace tightens up. 9 isn't action packed, but it's well set up and interesting things happen. Ten, read the Prologue and last two chapters. 11 is well paced. 12 is paced like the first.
The point of the app (and company as a whole, I think) is a first step towards a full implementation of Jef Raskin's Humane Interface. At the moment, it's basically a transient command line for the desktop, as some wags have already mentioned. The goal is to implement a consistent way of doing things across a wide variety of applications and to get apps working together. In this it's much like QuickSilver on the Mac. There are differences in implementation philosophy, which stem from Jef's philosophies, but I believe the two programs are more similar than they are different.
Since this is Slashdot:
I've been a bit busy since I got into the final beta last week, but a preliminary check over the install directory shows that the engine is written in Python and it looks like they're using ctypes or the win32 Python stuff to patch into the system and intercept key events. There's also an embedded Mozilla install. Poking around the help files yields a much larger set of developer commands that aren't enabled in my beta demo ("hard crash enso" is my favorite, but there are items like "add to google calendar", "py {command}", and commands for Backpack todo list manipulation).
Unfortunately, I haven't figured out how to add commands nor how to modify existing ones. If anybody has any ideas, I'd be interested in hearing about them.
If Microsoft never bothered with IE, then people wouldn't be dumping Microsoft software for an alternative, it would just be an area that they aren't into.
The browser, despite all appearances is the most widely deployed platform on the planet. It is my sincere belief (as a former Moz XUL developer and as a present-day javascript developer) that browser apps have a very strong chance of replacing boxed apps. If your apps run in a browser and that browser can run on any desktop environment, why would you have to run on Windows? If you don't buy Windows, how does MS make money?
I give Gates credit for seeing this back in 95-96. I didn't see it till 2000 and it took till 2005 before the idea really gained traction. As-is, the marketshare of IE slows down the pace of browser development and allows for Microsoft to develop a replacement technology tied to their bottom line (XAML/Sparkle).
I work with a weird window manager (WMI and not WMII) that I love but nobody else uses.
Desktop 1: 6 terms Desktop 2: Firefox (constant tab for gmail, generally 3-5 peaking at around 20 during the daily read) + Mail Desktop 3: Gimp or Inkscape Desktop 4: Gaim, irc, misc
For a total of around 10, but I can get to any window in two keystrokes and I'm mouse free except for artwork and the occasional website.
For instance, how about expanding the capability of the 'bookmarks' and 'history' functions of the browser? Both are old concepts which haven't been updated in years. Both are largely useless due ot the sheer number of entries in both (for me and I imagine many others). The mechanisms for accessing them is awkward and feature/function-sparse.
There was a brief period in the early 90s where the Python developers were writing a browser called Grail. A lot of the networking components in the Python stdlib fall out of that.
For development, I agree with you completely. Every page I author is written in a real XHTML templating language, but I do not serve XHTML. It's just not ready and serving XHTML as text/html is bad. Moreover, both the Gecko and WebKit developers recommend against serving XHTML and Trident (IE) doesn't support it.
tl;dr: XHTML is good for development, bad for serving and will remain that way till IE6 can be ignored.
I'd like to second this. I worked on the Mozilla project while I was in school and credit them for most of the software engineering that I know. It's one thing to do stuff in school, it's another to work on a really big project with programmers who know vastly more than you do.
It also taught me to appreciate serious application-style javascript, which happens to be useful these days.
try:
f = open('number.txt','r').read()
x = int(f.read()) #convert the contents of a file to an int except IOError:
print "number.txt wasn't found" except ValueError:
print "contents weren't a number" else:
print "Unknown Error" finally:
f.close()
In previous releases this didn't entirely work as expected. I believe the wart was that the finally clause didn't make it if there was an exception in the except clauses. It's a bugfix.
Why do you think each successive version of Windows requires twice as much memory as the version before?
Because computers come with twice as much memory as the ones before. You say that as if it were a bad thing. The first step to optimization is deciding what acceptable performance is. You tweak the system until your perf is good enough and get on with your life. There are certainly situations where you absolutely need to go through and unroll your loops or to look through your bytecode and harass the VM guys, but those situations are few and far between for most programmers.
The 2-3x is off the cuff. It has been shown (though I can't find the nasa study) that scripting language programmers finish tasks several times faster than C programmers, but that's largely through leveraging the built-in datatypes (dicts, lists, etc) and making heavy use of the stdlib.
Up against something like C#, I'm fairly confident that Python is still faster to develop in without support from the editing environment, but I haven't used VS since VS6, so I don't know what sort of advances VS brings to C# that it wouldn't bring to IronPython. Given that you'll largely be using the same library and environment, I wouldn't expect a massive improvement.
In fact, I'd predict that your productivity gain will depend on the ratio of systems code to glue code you write. The shorter syntax, lack of a compile cycle, and ability to poke at stuff in the console make Python a better glue language. As far as systems languages go, I find Python perfectly adequate so I haven't felt a need to explore C#. Java 1.3 kind of turned me off of non-scripting languages so I don't know how language improvements have affected things.
Gmail macros scripts fixes most of the negatives
on
Gmail vs Pine
·
· Score: 2, Informative
snarfed found a bunch of greasemonkey scripts but he missed the important ones, which are at persistent.info. In particular, he'd probably be interested in:
* Filtering has a great UI, but it's horribly weak. Agreed.
* There's no way to bounce an email. This should be pretty trivial to add. dontcare
* If no email is selected, the Y key should archive the email under the cursor. This should be common sense. This isn't part of the macros script, but it wouldn't be that hard to add. I don't usually archive one mail at a time, so this doesn't really bother me.
* You can't automatically create a filter based on an email. Why not? Agreed. Even better, I'd appreciate mailing list support so that I could get rid of most of my tags.
* You can search, but you can't select messages based on headers, subject, or body text. Worse, if you have more messages than fit on the screen, you can't select any messages that aren't on the screen. If you ever get flooded with email, or with spam that escapes the spam filters, god help you.
Again, search is your friend. If you have my version of the macros script, 'mat' on the results repeatedly.
* Thank god there are keyboard shortcuts...but there aren't nearly enough! I don't mind using the mouse for one-time stuff, but if i have to use it often during my normal email routine, that's a deal breaker. Keyboard shortcuts for go to label, go to sent mail/drafts, and select all/none/unread would be necessary if I was ever to go back to Gmail.
go to label: g+label go to sent: g+sent go to drafts: g+drafts select: m + (a all, n none, u unread, s starred, t unstarred) apply label: l+label
* Marking messages as read is impossible with the keyboard
'r'
additionally, mark as unread
'v'
* Selecting a message doesn't automatically move the cursor to the next message. This is just plain silly. Again, not there, but simple to add to the script. I don't usually mark one message at a time...
* The Y key is horribly inconsistent. If you're in the Inbox, it archives. If you're in a label, it removes the label. If you're in spam or trash, it moves to the Inbox! This is a bad case of modal input.
'e' always removes from inbox.
* Gmail might be smart about (not) displaying quoted text, but it can't handle composing with quoted text to save its life.
Agreed but I don't find it difficult to manually remove quoted text.
I recently started working for one of the companies that survived the.com bubble. I somehow managed to fall into a position on one of the most senior teams where the business uniform is t-shirts and jeans. Developers that were hired later on in the company's history wear business casual, but the most senior and respected developers come dressed down. I have a closet full of more typical business attire (business casual to 3 piece suit), but I choose to wear tshirt and jeans. I see it as emulating what I wish to become. I'm not crazy, I'd rather be associated by dress with the gurus.
I can't see how...Mozilla is any better than Microsoft Internet Explorer in any way other than its license
Tabs Typeahead Find Bookmark Keywords (possible in IE with tweakui) Javascript Errors point to the correct line of code Javascript Debugger Document Inspector CSS2 selectors CSS3 color model
support pseudo-classes on every element PNG Alpha Channel Support (alpha grade) SVG support MathML support (alpha grade) XForms support User CSS Centralized Extension Database XML-driven UI (XUL, predates XAML by years) Easy Extension authoring Web Developer Extension Greasemonkey Extension Gestures Extensions Download Statusbar Extension Javascript Shell Bookmarklet Edit Styles Bookmarklet View selection/generated source
Yeah, I don't understand why people would choose mozilla over IE. Must be for granola-eating, sandals-wearing hippie reasons.
I believe that the rise of ebooks will correspond to the development of a device that mimics a real book.
I want a device that is: Hardback about two inches longer and an inch wider than the standard paperback, 25 plastic pages, Pen input for notetaking. Palm Pilot like battery life. Under $500.
When I say plastic I mean the stuff that's currently used for backpacking maps, feels a lot like paper but basically impossible to tear. I'm assuming that any processor/memory/storage that fits in the hardback cover will be good enough. If apple can do it with the nano then someone can fit the hardware in a book cover.
I've been following the development of electronic paper with great interest since it was first announced in 97. I think it was all the Inspector Gadget as a kid but I'm obsessed with a computer book.
A plane flying from Istambul to Stockholm crashes. The accident investigators recover the black box and find the captain's last announcement as follows:
If you look to your right you can see Poland's capital, Warsaw.
The investigators immediately determined the cause of the accident: Control system failure. It seems that all the Poles were on the right side of the plane.
This game actually reminds me of joust more than anything else.
While I really like the creative use of the mario enemies and music, I get really annoyed at some of the mechanics. I keep trying to jump on the enemies and wind up dying and I get annoyed that mario won't duck. To me these are part of what makes a Mario game. If you're going to rip the art, you need to rip the core mechanics as well.
Last July Andreessen was saying that innovation in browsers was dead. Everything that makes Firefox great now was in a year ago. It's cool that he founded Netscape and hacked on it and all (if I've got my history right), but how is he an expert on the browser market when he just parrots what the media is saying?
I actually am in the same situation as the computer guy at the school newspaper. I inherited a bizarrely complex setup that took me a year and a half to figure out and wanted to save my successor the trouble. To that end I've used leo (http://leo.sf.net) to document the server setup, ghost setup, and code needed to keep everything running. Leo allows me to organize both notes and code in the same place. I've talked it over with the guy I'm grooming for replacement, and it seems to be working, he's pledged to continue the project, so I hope it works out. Good luck to you.
Actually, I've never figured out why manufacturers go for qwerty-style keyboards instead of doing something like a one handed keyboard. You'd have to relearn where the keys are, but I would think you could beat thumb-keyboard speed in a couple minutes.
As for the trackball: meh. The only good trackballs are large trackballs. I'm not overly fond of touchpads, but the device has a nipple, which worksforme.
Survive 10... somehow.
Read the Prologue. Read the last two chapters. You missed ABSOLUTELY NOTHING in between. At least, that's how I did it.
I actually would disagree with your summary. The first book was excellent and fast paced. 2-4 strike me as similarly paced and 5-8 start to really drag, mostly because there are 1-2 excess plot lines. Drop the threads you aren't enjoying (I drop Perrin, ZZZZ) and the pace tightens up. 9 isn't action packed, but it's well set up and interesting things happen. Ten, read the Prologue and last two chapters. 11 is well paced. 12 is paced like the first.
The point of the app (and company as a whole, I think) is a first step towards a full implementation of Jef Raskin's Humane Interface. At the moment, it's basically a transient command line for the desktop, as some wags have already mentioned. The goal is to implement a consistent way of doing things across a wide variety of applications and to get apps working together. In this it's much like QuickSilver on the Mac. There are differences in implementation philosophy, which stem from Jef's philosophies, but I believe the two programs are more similar than they are different.
Since this is Slashdot:
I've been a bit busy since I got into the final beta last week, but a preliminary check over the install directory shows that the engine is written in Python and it looks like they're using ctypes or the win32 Python stuff to patch into the system and intercept key events. There's also an embedded Mozilla install. Poking around the help files yields a much larger set of developer commands that aren't enabled in my beta demo ("hard crash enso" is my favorite, but there are items like "add to google calendar", "py {command}", and commands for Backpack todo list manipulation).
Unfortunately, I haven't figured out how to add commands nor how to modify existing ones. If anybody has any ideas, I'd be interested in hearing about them.
But why enter the arena in the first place?
If Microsoft never bothered with IE, then people wouldn't be dumping Microsoft software for an alternative, it would just be an area that they aren't into.
The browser, despite all appearances is the most widely deployed platform on the planet. It is my sincere belief (as a former Moz XUL developer and as a present-day javascript developer) that browser apps have a very strong chance of replacing boxed apps. If your apps run in a browser and that browser can run on any desktop environment, why would you have to run on Windows? If you don't buy Windows, how does MS make money?
I give Gates credit for seeing this back in 95-96. I didn't see it till 2000 and it took till 2005 before the idea really gained traction. As-is, the marketshare of IE slows down the pace of browser development and allows for Microsoft to develop a replacement technology tied to their bottom line (XAML/Sparkle).
I work with a weird window manager (WMI and not WMII) that I love but nobody else uses.
Desktop 1: 6 terms
Desktop 2: Firefox (constant tab for gmail, generally 3-5 peaking at around 20 during the daily read) + Mail
Desktop 3: Gimp or Inkscape
Desktop 4: Gaim, irc, misc
For a total of around 10, but I can get to any window in two keystrokes and I'm mouse free except for artwork and the occasional website.
For instance, how about expanding the capability of the 'bookmarks' and 'history' functions of the browser? Both are old concepts which haven't been updated in years. Both are largely useless due ot the sheer number of entries in both (for me and I imagine many others). The mechanisms for accessing them is awkward and feature/function-sparse.
Sure! Let's call it Places.
There was a brief period in the early 90s where the Python developers were writing a browser called Grail. A lot of the networking components in the Python stdlib fall out of that.
For development, I agree with you completely. Every page I author is written in a real XHTML templating language, but I do not serve XHTML. It's just not ready and serving XHTML as text/html is bad. Moreover, both the Gecko and WebKit developers recommend against serving XHTML and Trident (IE) doesn't support it.
tl;dr: XHTML is good for development, bad for serving and will remain that way till IE6 can be ignored.
I'd like to second this. I worked on the Mozilla project while I was in school and credit them for most of the software engineering that I know. It's one thing to do stuff in school, it's another to work on a really big project with programmers who know vastly more than you do.
It also taught me to appreciate serious application-style javascript, which happens to be useful these days.
Note that this works ONLY if "first option" is known to evaluate to True.
http://www.diveintopython.org/
For those that know how to program. Accept no substitutes.
Why do you think each successive version of Windows requires twice as much memory as the version before?
Because computers come with twice as much memory as the ones before. You say that as if it were a bad thing. The first step to optimization is deciding what acceptable performance is. You tweak the system until your perf is good enough and get on with your life. There are certainly situations where you absolutely need to go through and unroll your loops or to look through your bytecode and harass the VM guys, but those situations are few and far between for most programmers.
The 2-3x is off the cuff. It has been shown (though I can't find the nasa study) that scripting language programmers finish tasks several times faster than C programmers, but that's largely through leveraging the built-in datatypes (dicts, lists, etc) and making heavy use of the stdlib.
Up against something like C#, I'm fairly confident that Python is still faster to develop in without support from the editing environment, but I haven't used VS since VS6, so I don't know what sort of advances VS brings to C# that it wouldn't bring to IronPython. Given that you'll largely be using the same library and environment, I wouldn't expect a massive improvement.
In fact, I'd predict that your productivity gain will depend on the ratio of systems code to glue code you write. The shorter syntax, lack of a compile cycle, and ability to poke at stuff in the console make Python a better glue language. As far as systems languages go, I find Python perfectly adequate so I haven't felt a need to explore C#. Java 1.3 kind of turned me off of non-scripting languages so I don't know how language improvements have affected things.
snarfed found a bunch of greasemonkey scripts but he missed the important ones, which are at persistent.info. In particular, he'd probably be interested in:
m acros
a ck-become-a-gmail-master-161399.php
a il-macros.user.js
http://persistent.info/archives/2006/03/21/gmail-
and
http://www.lifehacker.com/software/gmail/hack-att
This post deals with my version of the macros script:
http://gr.ayre.st/~grayrest/greasemonkey/gmail/gm
* Filtering has a great UI, but it's horribly weak.
Agreed.
* There's no way to bounce an email. This should be pretty trivial to add.
dontcare
* If no email is selected, the Y key should archive the email under the cursor. This should be common sense.
This isn't part of the macros script, but it wouldn't be that hard to add. I don't usually archive one mail at a time, so this doesn't really bother me.
* You can't automatically create a filter based on an email. Why not?
Agreed. Even better, I'd appreciate mailing list support so that I could get rid of most of my tags.
* You can search, but you can't select messages based on headers, subject, or body text. Worse, if you have more messages than fit on the screen, you can't select any messages that aren't on the screen. If you ever get flooded with email, or with spam that escapes the spam filters, god help you.
Again, search is your friend. If you have my version of the macros script, 'mat' on the results repeatedly.
* Thank god there are keyboard shortcuts...but there aren't nearly enough! I don't mind using the mouse for one-time stuff, but if i have to use it often during my normal email routine, that's a deal breaker. Keyboard shortcuts for go to label, go to sent mail/drafts, and select all/none/unread would be necessary if I was ever to go back to Gmail.
go to label: g+label
go to sent: g+sent
go to drafts: g+drafts
select: m + (a all, n none, u unread, s starred, t unstarred)
apply label: l+label
* Marking messages as read is impossible with the keyboard
'r'
additionally, mark as unread
'v'
* Selecting a message doesn't automatically move the cursor to the next message. This is just plain silly.
Again, not there, but simple to add to the script. I don't usually mark one message at a time...
* The Y key is horribly inconsistent. If you're in the Inbox, it archives. If you're in a label, it removes the label. If you're in spam or trash, it moves to the Inbox! This is a bad case of modal input.
'e' always removes from inbox.
* Gmail might be smart about (not) displaying quoted text, but it can't handle composing with quoted text to save its life.
Agreed but I don't find it difficult to manually remove quoted text.
I recently started working for one of the companies that survived the .com bubble. I somehow managed to fall into a position on one of the most senior teams where the business uniform is t-shirts and jeans. Developers that were hired later on in the company's history wear business casual, but the most senior and respected developers come dressed down. I have a closet full of more typical business attire (business casual to 3 piece suit), but I choose to wear tshirt and jeans. I see it as emulating what I wish to become. I'm not crazy, I'd rather be associated by dress with the gurus.
I can't see how...Mozilla is any better than Microsoft Internet Explorer in any way other than its license
Tabs
Typeahead Find
Bookmark Keywords (possible in IE with tweakui)
Javascript Errors point to the correct line of code
Javascript Debugger
Document Inspector
CSS2 selectors
CSS3 color model
support
pseudo-classes on every element
PNG Alpha Channel Support
(alpha grade) SVG support
MathML support
(alpha grade) XForms support
User CSS
Centralized Extension Database
XML-driven UI (XUL, predates XAML by years)
Easy Extension authoring
Web Developer Extension
Greasemonkey Extension
Gestures Extensions
Download Statusbar Extension
Javascript Shell Bookmarklet
Edit Styles Bookmarklet
View selection/generated source
Yeah, I don't understand why people would choose mozilla over IE. Must be for granola-eating, sandals-wearing hippie reasons.
I believe that the rise of ebooks will correspond to the development of a device that mimics a real book.
I want a device that is:
Hardback about two inches longer and an inch wider than the standard paperback, 25 plastic pages, Pen input for notetaking. Palm Pilot like battery life. Under $500.
When I say plastic I mean the stuff that's currently used for backpacking maps, feels a lot like paper but basically impossible to tear. I'm assuming that any processor/memory/storage that fits in the hardback cover will be good enough. If apple can do it with the nano then someone can fit the hardware in a book cover.
I've been following the development of electronic paper with great interest since it was first announced in 97. I think it was all the Inspector Gadget as a kid but I'm obsessed with a computer book.
The investigators immediately determined the cause of the accident: Control system failure. It seems that all the Poles were on the right side of the plane.
This game actually reminds me of joust more than anything else.
While I really like the creative use of the mario enemies and music, I get really annoyed at some of the mechanics. I keep trying to jump on the enemies and wind up dying and I get annoyed that mario won't duck. To me these are part of what makes a Mario game. If you're going to rip the art, you need to rip the core mechanics as well.
http://subway.python-hosting.com
It's rough, but it's coming along.
distccKnoppix
Last July Andreessen was saying that innovation in browsers was dead. Everything that makes Firefox great now was in a year ago. It's cool that he founded Netscape and hacked on it and all (if I've got my history right), but how is he an expert on the browser market when he just parrots what the media is saying?
I actually am in the same situation as the computer guy at the school newspaper. I inherited a bizarrely complex setup that took me a year and a half to figure out and wanted to save my successor the trouble. To that end I've used leo (http://leo.sf.net) to document the server setup, ghost setup, and code needed to keep everything running. Leo allows me to organize both notes and code in the same place. I've talked it over with the guy I'm grooming for replacement, and it seems to be working, he's pledged to continue the project, so I hope it works out. Good luck to you.
Actually, I've never figured out why manufacturers go for qwerty-style keyboards instead of doing something like a one handed keyboard. You'd have to relearn where the keys are, but I would think you could beat thumb-keyboard speed in a couple minutes. As for the trackball: meh. The only good trackballs are large trackballs. I'm not overly fond of touchpads, but the device has a nipple, which worksforme.