It's only scary because we make it scary. It's the most powerful interface we currently have with our machines, the predecessor of the phonetic shell, of voice controlled interfaces.
WHY DO UNIX FOLKS MAKE IT SO FRICKING UNWIELDY?!
It doesn't have to be. It shouldn't be.
I love the command line, but frick, do I hate unix.
Don't get me wrong. POSIX is great. It's on my list of requisites for operating system consideration-- but why in hades do END USERS _ever_ get exposed to it?
An online acquaintance of mine from Argentina made a nice little 'urip' utility that turns youtube links into audio files on your desktop. I'm his primary tester, and today we talked a little about command line arguments. An excerpt:
leo_rockway: I could check if the non regex matching "thing" is either -g or --ogg
ethan: what does -g do?
leo_rockway: converts to ogg/vorbis
ethan: ....
leo_rockway: didn't you just read the help?
ethan: but that's what --ogg does
leo_rockway: that's the long argument
ethan: is that how it's done?
leo_rockway: there's always a short and a long argument
leo_rockway: yup
leo_rockway: just man any command and you'll see
leo_rockway: man ls
leo_rockway: -a, --all
leo_rockway: do not ignore entries starting with .
ethan: funny thing there....
ethan: you know what
ethan: if you're going to bother with human readable arguments
ethan: drop the silly --
ethan: -a, all
ethan: list all
ethan: ls -a
leo_rockway: *shrug*
ethan: start a new, more efficient convention, if you can
ethan: urip ogg $URL
ethan: can it be done?
leo_rockway: yes it can
ethan: :)
ethan: think of the usability
ethan: ;)
ethan: when I'm giving my mom instructions over the phone....
ethan: 'install urip'
ethan: 'urip ogg $URL'
ethan: 'sudo apt dash get install urip'
ethan: 'urip dash dash ogg $URL'
leo_rockway: kill dash nine!
ethan: 'murder firefox'
Another excerpt, this time from my ~/.bashrc:
# system command aliases
alias list='ls'
alias delete='rm'
alias DELETE='sudo rm'
alias frigging='sudo'
alias install='sudo apt-get install'
alias uninstall='sudo apt-get remove'
alias check-update='sudo apt-get update'
alias update='sudo apt-get upgrade'
alias murder='sudo killall'
alias get='wget'
alias GET='sudo wget'
alias enter='cd'
alias up='cd ..'
alias home='cd ~/'
alias unmount='umount'
#functions
function remove () { mv "$@" ~/.local/share/Trash/files; }
function REMOVE () { sudo mv "$@" ~/.local/share/Trash/files; }
Ubuntu may want to be linux for human beings, but I don't know what everybody else is doing. I don't think we can stay on the same path and accomplish what we're setting out to do.
The command line is a cryptic disgrace because we seem content to leave it that way. Fixing this may require patching just about every application in the Ubuntu operating system, but hey, if it can't do that, what is bzr for again?
Tuesday, December 30, 2008
Saturday, December 27, 2008
Corner Case
Hi, I'm the corner case. I'm the guy you always leave out in the cold, the one you say is crazy. I do things with your software you never thought anyone would attempt. I innovate, I drive progress, and yet you shun me, ignore me, tell me what I'm doing isn't 'supported'.
I'm the one sending SMS, facebookchat messages, and tweets from pidgin. The one claiming that window-picker-appet is the savior of the gnome desktop. The one who made that dual seat rig with userful and pulseaudio. I'm the guy who uses gnome screensavers as my desktop background.
I run into your odd bugs, the ugly ones you hope no one will ever see. I submit the feature requests that put that silly, confused look on your face. I know where your project is going, I know its destiny. Please, listen to me--
I'm the corner case.
I'm the one sending SMS, facebookchat messages, and tweets from pidgin. The one claiming that window-picker-appet is the savior of the gnome desktop. The one who made that dual seat rig with userful and pulseaudio. I'm the guy who uses gnome screensavers as my desktop background.
I run into your odd bugs, the ugly ones you hope no one will ever see. I submit the feature requests that put that silly, confused look on your face. I know where your project is going, I know its destiny. Please, listen to me--
I'm the corner case.
Just Works
Digipro drawing pad users of the world, unite.
http://digitalbluewave.blogspot.com/2008/11/updated-wizardpen-driver-070-alpha1-p.html
Let's make these things Just Work in 9.04.
fabrice_sp is helping me with basically all of my packaging at this stage, we have one we're working on for the wizardpen. The idea for the end result is this:
a .deb file with the drive in it, and a postinstall script that goes as follows:
'please unplug your drawing pad and hit enter.'
grep -i name /proc/bus/input/devices
'pleas plug in your drawing pad and hit enter.'
grep -i name /proc/bus/input/devices
(the second time the command is run, there should be one additional result.)
Take that result and add it to /etc/hal/fdi/policy/99-x11-wizardpen.fdi, which needs to contain some other basically static xml, but I don't know how to post it here..
What would be /really/ nice of course is if the driver was included in main, and could recognize all the different wizardpen drawing pads and make them all Just Work; that is the end goal here, and we need all the help we can get. I hope the wacom folks have it better than this..
http://digitalbluewave.blogspot.com/2008/11/updated-wizardpen-driver-070-alpha1-p.html
Let's make these things Just Work in 9.04.
fabrice_sp is helping me with basically all of my packaging at this stage, we have one we're working on for the wizardpen. The idea for the end result is this:
a .deb file with the drive in it, and a postinstall script that goes as follows:
'please unplug your drawing pad and hit enter.'
grep -i name /proc/bus/input/devices
'pleas plug in your drawing pad and hit enter.'
grep -i name /proc/bus/input/devices
(the second time the command is run, there should be one additional result.)
Take that result and add it to /etc/hal/fdi/policy/99-x11-wizardpen.fdi, which needs to contain some other basically static xml, but I don't know how to post it here..
What would be /really/ nice of course is if the driver was included in main, and could recognize all the different wizardpen drawing pads and make them all Just Work; that is the end goal here, and we need all the help we can get. I hope the wacom folks have it better than this..
Friday, November 14, 2008
I'm an Ubuntero!
First order of business: I've upgraded the Ubuntu Stellarium package to 0.10.0
Here's how to get it.
I have installed stellarium on my machine with these same steps to ensure that nothing is broken. It's not as scary as it looks.
Note that this guide will not work if you're using a PowerPC machine such as a PowerBook or PlayStation3. Ubuntu doesn't have OpenGL acceleration on the PS3 anyways, and if you want to build a .deb for yourself on a PowerBook or other PPC based machine, let me know; I can walk you through it. Unfortunately, canonical only builds PPA packages for i386 (x86), amd64 (x86_64), and lpia (low power intel architecture)-- which is just another way of saying ...more x86. Also note that this guide will not work on Ubuntu Hardy; only Intrepid and newer. If you're still waiting for a bug or two to get worked out of Intrepid, just hang onto this for later.
Firstly, add the apt-line to your software sources.
System > Administration > Software Sources
Go to the 'Third-Party Software' tab, click the 'add' button near the bottom left corner of the window.
"Enter the complete APT line of the repository that you want to add as source"
deb http://ppa.launchpad.net/ethana2/ubuntu intrepid main
When you close the window, it'll tell you it needs to reload the index of stuff you can install, go ahead and do it.
== at this point, you have added my Personal Package Archive to your Ubuntu installation ==
[If you already had stellarium installed, just run updates and you're done. --I'll assume you don't.]
Next, go to Applications > Add/Remove, and search for stellarium. It should return one result, and that one result is of course the one you want.
Check the box next to it and hit 'Apply Changes'. Enter your password, and it will probably complain about how I haven't been knighted by King Shuttleworth. Ignore this and install anyway. I am responsible to Canonical for my behavior in regards to this PPA, having signed their code of conduct with gpg, and I'm not going to mess with anyone.
After installing this application, you will be provided with the opportunity to run it immediately. Do what you want.
Stellarium will show up under Applications > Education, but you can move it wherever you will with the Main Menu Editor found in System > Prefs.
Enjoy*
*Enjoying is not required by the GPL; if you choose not to enjoy it, no one can stop you.
Here's how to get it.
I have installed stellarium on my machine with these same steps to ensure that nothing is broken. It's not as scary as it looks.
Note that this guide will not work if you're using a PowerPC machine such as a PowerBook or PlayStation3. Ubuntu doesn't have OpenGL acceleration on the PS3 anyways, and if you want to build a .deb for yourself on a PowerBook or other PPC based machine, let me know; I can walk you through it. Unfortunately, canonical only builds PPA packages for i386 (x86), amd64 (x86_64), and lpia (low power intel architecture)-- which is just another way of saying ...more x86. Also note that this guide will not work on Ubuntu Hardy; only Intrepid and newer. If you're still waiting for a bug or two to get worked out of Intrepid, just hang onto this for later.
Firstly, add the apt-line to your software sources.
System > Administration > Software Sources
Go to the 'Third-Party Software' tab, click the 'add' button near the bottom left corner of the window.
"Enter the complete APT line of the repository that you want to add as source"
deb http://ppa.launchpad.net/
When you close the window, it'll tell you it needs to reload the index of stuff you can install, go ahead and do it.
== at this point, you have added my Personal Package Archive to your Ubuntu installation ==
[If you already had stellarium installed, just run updates and you're done. --I'll assume you don't.]
Next, go to Applications > Add/Remove, and search for stellarium. It should return one result, and that one result is of course the one you want.
Check the box next to it and hit 'Apply Changes'. Enter your password, and it will probably complain about how I haven't been knighted by King Shuttleworth. Ignore this and install anyway. I am responsible to Canonical for my behavior in regards to this PPA, having signed their code of conduct with gpg, and I'm not going to mess with anyone.
After installing this application, you will be provided with the opportunity to run it immediately. Do what you want.
Stellarium will show up under Applications > Education, but you can move it wherever you will with the Main Menu Editor found in System > Prefs.
Enjoy*
*Enjoying is not required by the GPL; if you choose not to enjoy it, no one can stop you.
Friday, June 20, 2008
ignore this
1bf532acf07835edf2f37780b68757dd
md5 for a text file for the verification of its creation date
md5 for a text file for the verification of its creation date
Thursday, August 30, 2007
Gaming on Linux: The Time has Come.
If you're from Ubuntu feature requests, skip to paragraph 4.
One of the reasons for not moving to Linux that you hear a lot from windows users is that their games don't work on Linux. For the most part, this is true. Of course, there are always compatibility layers like wine or, ahem, cedega... But let us think for a moment: this is just another proprietary app dependency. Sure, it'd be nice if they made games for us, but we have the best kernel on earth, the best window compositing system, the best 3 browsers ... Heck, we even had better hardware support than vista for a while. What got us there? For the most part, not proprietary software dependency.
A short time ago, I surveyed the Linux gaming situation and was pleasantly surprised. We have unified. We have advanced. Through great projects like ioq3, crystal space, SDL, and opengl, we have, in my opinion, nearly caught up. You can play sauerbraten, tremulous, nexuiz, openarena, urban terror, and many others. What is lacking? Out of the box support for controllers. Let's face it: who has an open source gaming console? Yeah. Good job. So let us examine what a pc needs to catch up in full.
Out of the box controller/gamepad support. Do we have it? Kinda. But what if you want to use it? Tough. You have to go out and find the source for joy2key and joy2mouse, run a ./configure make sudo make install on it. Now, console users don't like terminals. I don't mind them, but before I knew what I was doing, I tried that and it didn't work. I probably didn't do it right... Anyway...
What we need is a way to simply plug in your gamepad, and be able to just use it. This involves binding keys and mouse movements in its simplest form. Heck, I like having a backup for my keyboard and mouse anyway. That binding needs to be integrated into the gamepad manager, and all of that needs to be included(optionally) with Ubuntu. If not the default Ubuntu, perhaps a new variant, like Ubuntu Full Circle? (I think that would be appropriate, next to the xbox 360 and nintendo revo--- wii. Best of all, you could install it on the ps3 --also, as an indicator that one of the last weaknesses of Linux... has caught up. The circle is complete. Once we were but the learners. Now we... are the masters. *I plead fair use*)
ethana2@gmail.com -- help me refine my ideas.
One of the reasons for not moving to Linux that you hear a lot from windows users is that their games don't work on Linux. For the most part, this is true. Of course, there are always compatibility layers like wine or, ahem, cedega... But let us think for a moment: this is just another proprietary app dependency. Sure, it'd be nice if they made games for us, but we have the best kernel on earth, the best window compositing system, the best 3 browsers ... Heck, we even had better hardware support than vista for a while. What got us there? For the most part, not proprietary software dependency.
A short time ago, I surveyed the Linux gaming situation and was pleasantly surprised. We have unified. We have advanced. Through great projects like ioq3, crystal space, SDL, and opengl, we have, in my opinion, nearly caught up. You can play sauerbraten, tremulous, nexuiz, openarena, urban terror, and many others. What is lacking? Out of the box support for controllers. Let's face it: who has an open source gaming console? Yeah. Good job. So let us examine what a pc needs to catch up in full.
Out of the box controller/gamepad support. Do we have it? Kinda. But what if you want to use it? Tough. You have to go out and find the source for joy2key and joy2mouse, run a ./configure make sudo make install on it. Now, console users don't like terminals. I don't mind them, but before I knew what I was doing, I tried that and it didn't work. I probably didn't do it right... Anyway...
What we need is a way to simply plug in your gamepad, and be able to just use it. This involves binding keys and mouse movements in its simplest form. Heck, I like having a backup for my keyboard and mouse anyway. That binding needs to be integrated into the gamepad manager, and all of that needs to be included(optionally) with Ubuntu. If not the default Ubuntu, perhaps a new variant, like Ubuntu Full Circle? (I think that would be appropriate, next to the xbox 360 and nintendo revo--- wii. Best of all, you could install it on the ps3 --also, as an indicator that one of the last weaknesses of Linux... has caught up. The circle is complete. Once we were but the learners. Now we... are the masters. *I plead fair use*)
ethana2@gmail.com -- help me refine my ideas.
Tuesday, May 1, 2007
OSH Laptop Design
Here follows my idea for an open source laptop. Naturally, its components should be open source too.
First, all components need to use USB 3.0. This idea is detailed in a previous post here.
Secondly, it needs to be liquid cooled. This may sound ridiculous, but when you see my idea for the implementation, you may change your mind- more on this later.
Third, while the CPU instruction set's being open may sound stupid, keep in mind that the gcc can add it as a target platform as easily as it could be designed int eh first place. I believe it already exists anyway.
Fourth, it has a co processor. This would require the Linux, Open Solaris, FreeBSD, Haiku, whatever- kernels to be altered, but it would be worth it. Threads would issue a kernel call for mass math batching to the co processor, which would be used for all math intensive operations.
Fifth, it would take advantage of every power saving method under the sun. Parts of the processor would power off via clock gating when unused. Both clock frequencies and voltages to all components would be scaled dynamically.
Here follows some more specific design ideas: The liquid cooling system would be quieter and work better than current laptop air cooling. Thanks to all the power saving measures in place, it wouldn't ave that much stress put on it usually. It would have a small pump in the main body, and would cool all components that generate heat. One tube goes up behind the screen, and one comes down. There, a heat sink that covers the entire back side of it dissipates the heat with vertical fins while the laptop is open. Aluminum would likely work fine. This also opens of some neat aesthetic possibilities. Due to the flexibility of USB 3.0, the keyboard is not mandatory. One could easily replace it with, say, a touchscreen. Or a solar panel, with the top screen being a touchscreen. Possibilities are endless.
We touch first on the hard drive. First notable difference: simplified electronics. The system could use one GB of GDDR3 for L3, graphical cache for the co processor, and perhaps hard drive cache as well. The hard drive itself would lack a cache. Using Gb USB 3, it would negotiate one 60 and one 1 volt power input. The 60 bolt drives the motor, and the one volt drives circuitry. It would have instant spin down in a similar manner to hybrid vehicles. Shock mounted.
Next, the optical drive. Power negotiation would be identical to the other, with the exception of an extra voltage for the laser. The laser would be an independent unit of the drive, capable of bring upgraded to higher frequencies as needed without replacing the entire drive. The tray and reading/writing mechanisms would also be independent, allowing for design variations like drives that grab the disk and pull it in, without major redesign.
The power supply would put out a few 60 and 1 volt lines, with several variable voltage outputs. While these may not be particularly efficient, they centralize power conversion in the PSU. Centralization of operations is crucial. As all other components, it would be liquid cooled. Thus, it would be much denser than many other PSU's. This may sound like a bad idea, but as long as the liquid system is well designed and no one is emptying rounds into the machine, it should be fine.
Another component that one might find interesting is the modulator. This would be a digital-to-analog wave generator, and could be used as a modem, or to provide traditional audio output to old headphones and speakers. Or, hey, tuning radio and TV- even broadcasting at moderate power. This would be placed above the screen, along with a digital microphone and perhaps a webcam.
The usual or recommended setup would be one colemak thin keyboard, a thumb pad for security, and a touch mouse. Perhaps a small scanning pad would be handy too. These would be isolated in the keyboard layer, separate from other internal components, and a breeze to replace. As much as possible, the machine should be EM shielded and waterproof. With the right sealing methods, and design, it may be a good idea to actually make it capable of underwater use, conditionally. That is, it needs to be designed with that in mind, but most people wouldn't need it actually built in when they get one.
I want to set up some kind of group to make such designs a reality, but I need all the help I can get. ethana2@gmail.com- for those willing to contribute or comment.
First, all components need to use USB 3.0. This idea is detailed in a previous post here.
Secondly, it needs to be liquid cooled. This may sound ridiculous, but when you see my idea for the implementation, you may change your mind- more on this later.
Third, while the CPU instruction set's being open may sound stupid, keep in mind that the gcc can add it as a target platform as easily as it could be designed int eh first place. I believe it already exists anyway.
Fourth, it has a co processor. This would require the Linux, Open Solaris, FreeBSD, Haiku, whatever- kernels to be altered, but it would be worth it. Threads would issue a kernel call for mass math batching to the co processor, which would be used for all math intensive operations.
Fifth, it would take advantage of every power saving method under the sun. Parts of the processor would power off via clock gating when unused. Both clock frequencies and voltages to all components would be scaled dynamically.
Here follows some more specific design ideas: The liquid cooling system would be quieter and work better than current laptop air cooling. Thanks to all the power saving measures in place, it wouldn't ave that much stress put on it usually. It would have a small pump in the main body, and would cool all components that generate heat. One tube goes up behind the screen, and one comes down. There, a heat sink that covers the entire back side of it dissipates the heat with vertical fins while the laptop is open. Aluminum would likely work fine. This also opens of some neat aesthetic possibilities. Due to the flexibility of USB 3.0, the keyboard is not mandatory. One could easily replace it with, say, a touchscreen. Or a solar panel, with the top screen being a touchscreen. Possibilities are endless.
We touch first on the hard drive. First notable difference: simplified electronics. The system could use one GB of GDDR3 for L3, graphical cache for the co processor, and perhaps hard drive cache as well. The hard drive itself would lack a cache. Using Gb USB 3, it would negotiate one 60 and one 1 volt power input. The 60 bolt drives the motor, and the one volt drives circuitry. It would have instant spin down in a similar manner to hybrid vehicles. Shock mounted.
Next, the optical drive. Power negotiation would be identical to the other, with the exception of an extra voltage for the laser. The laser would be an independent unit of the drive, capable of bring upgraded to higher frequencies as needed without replacing the entire drive. The tray and reading/writing mechanisms would also be independent, allowing for design variations like drives that grab the disk and pull it in, without major redesign.
The power supply would put out a few 60 and 1 volt lines, with several variable voltage outputs. While these may not be particularly efficient, they centralize power conversion in the PSU. Centralization of operations is crucial. As all other components, it would be liquid cooled. Thus, it would be much denser than many other PSU's. This may sound like a bad idea, but as long as the liquid system is well designed and no one is emptying rounds into the machine, it should be fine.
Another component that one might find interesting is the modulator. This would be a digital-to-analog wave generator, and could be used as a modem, or to provide traditional audio output to old headphones and speakers. Or, hey, tuning radio and TV- even broadcasting at moderate power. This would be placed above the screen, along with a digital microphone and perhaps a webcam.
The usual or recommended setup would be one colemak thin keyboard, a thumb pad for security, and a touch mouse. Perhaps a small scanning pad would be handy too. These would be isolated in the keyboard layer, separate from other internal components, and a breeze to replace. As much as possible, the machine should be EM shielded and waterproof. With the right sealing methods, and design, it may be a good idea to actually make it capable of underwater use, conditionally. That is, it needs to be designed with that in mind, but most people wouldn't need it actually built in when they get one.
I want to set up some kind of group to make such designs a reality, but I need all the help I can get. ethana2@gmail.com- for those willing to contribute or comment.
Subscribe to:
Comments (Atom)
