Hacker News new | past | comments | ask | show | jobs | submit login
Check out my side project: I rewrote rxvt in javascript (terminalcast.com)
64 points by paddy_m on Sept 30, 2009 | hide | past | favorite | 48 comments



I never liked screencasts of text, so I built a better tool. I rewrote rxvt in javascript so that I can reanimate terminal sessions.

I would really like feedback on how the terminal recording process goes. Right now it is very tricky, primarily because of the sound recording.

There are bugs on the site 1. clicking the playbar seeks audio, not the text 2. there is no color, underlining, bold, or blinking. Rest assured these are captured in the terminal output, but I just haven't added that to rxvt-js yet. 3. There is no listing of of how long a terminalcast is

I would love to hear other bugs.

Thanks


I watched part of the git tutorial, and it got jumpy at some point; i.e., losing characters, scrolling on to upper lines on the right side, etc.


Also, the audio is pretty far ahead of the text making it hard to follow.


your font color hurts my eyes.


You mean the green? That's my favorite color for text.

It's also by far the easiest color to read for the brightness. The human eye is most sensitive to green, and the high resolution receptors in the eye are most sensitive to green.


Plus, terminal green has that lovely retro feel to it.

Though I haven't been able to find some (CSS) colours that give a terminal the green glow that I remember on today's high definition video displays.


There are an infinite number of colors that LCDs cannot display; this is one of them.


I concur. All colors are good. It just depends on the combination. It looks much better now after he improved it a bit.


Respect my eyesight, please! We haven't had to put up with green text on a black background in terminals for YEARS now - please spruce up the colour scheme with something that's a little less eye-murderin'. And that dark-blue you use for the links on that black background is so hard to read I never even got to the point where I started watching a terminalcast - just trying to read what each already-existing terminalcast IS gave me enough of a headache that I bailed.


Thanks. Green on black is actually my preferred color scheme. I should add some alternative ones. Yes the homepage links are hideous. I know I'll use orange for links.


When people refuse to check out the content of your site because the color scheme is so alarming, it's probably a good idea to change colors a bit. I'd say that you can use those colors, but peel off the saturation on the green and lighten up the black a little bit. I tend to use #111 for "black" backgrounds, and #3f5 or something like that for green. The lower contrast is actually much easier on the eyes. I'm sure there are articles out there on the internet about that, but I'm too lazy to go look for them anyhow.

As far as the content goes, I'm not sure that I see the net advantage of this "terminalcast" idea over either a written tutorial with screen caps or a full video. A written tutorial can provide all of the information that this terminalcast provides, but you can go through it at your own speed. A regular video can show a lot of other different things visually that you're not going to be able to with just terminal text. It's a neat idea, but I just want to know what purpose it will serve.


Thank you for specific color recommendations, much much appreciated. Any idea for a link color. (the orange was a bit of a joke).

The advantadges of a terminalcast compared to a video are as follows.

1. You can copy and paste directly from the screen into your terminal

2. The file size is a lot smaller for the same quality. I will post a huge resolution terminalcast in just a bit, 2560x1600 imagine the size of a video with that resolution.

3. Since its all text, I will be able to search terminalcasts in ways that are not possible with videos.

4. You will be able to go through it at your own pace and set bookmarks, I just haven't implemented that yet.

Granted there are some things you can't show in a terminal, but I have a couple of ideas for getting around that.

Thanks


Just brighten up the blue some... #38f worked okay when i tried it for the links on the black background.

And those advantages make some sense to me. Thanks for clarifying. I guess as you implement more things the benefits will become clearer. I'll be sure to watch and see what you do.


I made the changes you suggested. For now the links are pink. At least you can see them.


Browser issue? The colors seem to differ dramatically between IE and Firefox. In IE, it is quite readable. In Firefox, it hurts to look at. Same for Chrome.


[deleted]


I dunno, I use green on black myself. Guess I just got used to the old IBM terminals. (Yes, hardware terminals.) Although, I don't use a Times font.


Oh, it doesn't work in IE yet. It actually shouldn't take much work, but I really doubt that ie is much my target audience.


Not working in Safari either for me. I hear the sound but see nothing.


Very cool idea, I love the idea of copy and paste from tutorial videos.


You might consider integrating it with http://0xcc.net/ttyrec/index.html.en (ttyrec) for the backend, since it solves a lot of these problems, and there's quite a lot of recordings already online.

It's popular in the nethack community for watching games, such as http://alt.org/nethack/getoldttyrec.php?player=mrivan



Yep. Proving once again that javascript is turing complete.


This had to be proved?

I'm still wondering who these people are that think JS is a "kid's" language.


For the longest time I was one of them, in spite of being probably one of the very early adopters for 'ajax' (before it even had a name and you had to jump through hoops to get data back to your wannabe page modifying script).

I sort of lost track of how fast the developments where going and then somewhere I ran into this apple II emulator in js. It completely floored me that that was possible.


Oh yeah, back when you had to use the invisible IFRAME trick.

I used to think JS was a retarded language too, before I realized that "dynamic" languages are just as powerful and often far easier to work with than "static" ones. The browser environments in which JS is usually found don't make it easy to see the merits of the language itself, and the language itself has some annoying quirks, so I can understand why people would be reluctant to like it. But more and more I find myself wishing that I could use JavaScript as a general purpose scripting language like I tend to use Perl or Python today.


You can, check out Mozilla Rhino. It's a javascript interpreter written in Java. You can use all the Java libraries through it, but I'm not sure if it'll be quite as nice for working with files etc


You actually can, check out spidermonkey.


My conversion had to wait till Ben Firshman's JSNES.


That is pretty awesome.


We know it's turing-complete. that's a pretty low bar to set. The real question is, is it a good language to program in?


the progress bar obscures the bottom line of text.

otherwise, nice project. maybe hook up with a ui/design person or invest in learning and implementing that side of things yourself.

it would also be wise to make it more obvious that using your app is secure. you're going after a more savy, security-minded community, so including a friendly diagram of how things work, even if a tad technical, would probably work in your favor.


Yes, the css needs some work. This is the first project where I have done all the graphic/ui design on my own.

The idea is that the site is supposed to look like a vt100 terminal, with pdp 11 colored buttons. The design made sense to me because it was a bit retro, and something that I could easily aim for, but if it is seriously impacting usability, I'd be happy to change it.

http://www.classiccmp.org/dunfield/tty/h/vt100.jpg

http://upload.wikimedia.org/wikipedia/commons/e/ee/Pdp-11-40...


In what sense secure? This isn't used to ssh into servers. It is used to record a terminal session. The terminalcast recorder is open sourced.


Login doesn't work for me after creating an account. Neither in Opera nor Firefox; rejects my login and password. Case sensitivity problems maybe?

Also: Before clicking through, I was hoping to see that this was done without Flash.

Having multiple colours show up would be a great next feature. Also: Some people might find utility in a version that doesn't record or playback any audio.


My bad, the activation email was just slow to arrive. (I point out that there was no mention of "your account will not be active until you click the link in the email".)


Any particular reason you're not just wrapping "script" to capture the terminal output?


In case you are wondering what he is talking about (like I was), see: http://unixhelp.ed.ac.uk/CGI/man-cgi?script


23 comments and over half are whining about the color. This is why I just put my code in Github and let people discover it themselves... that way I don't get a bunch of unsolicited "help".


I asked for help. I'm fine with it. The code is on github

http://github.com/paddymul/rxvt-js

http://github.com/paddymul/TerminalcastRecord


Notice that nobody has given you feedback on anything important, only on the extremely traditional color scheme.

Never post code-related articles when the Mac users are awake.

(BTW, I do have one actual comment -- why not delete the rxvt-unicode code that you are not using? libev, for example.)


FWIW, aesthetics matter. Yeah, you can force yourself overlook them, and I did so when I was taking a look at the site, but it's natural (and probably reasonable) to use aesthetics as a quick heuristic to determine quality. Most people don't have the time or energy to evaluate all the possible factors that determine something's quality, so we use "irrational" methods of rapidly gauging whether something is worth our time and attention. An abrasively designed website is like a dirty grocery store; just like it's hard to find the clean piece of fruit when bugs are circling your head, it's hard to evaluate an application's merits when the color scheme is buzzing in your mind.

Now, that being said, it's not helpful just to scream "UGLY" and move on whenever something doesn't project the disaffected techno-chic image that glossy buttons and minimalistic icons could give it (heh heh heh). But it isn't too much to ask the colors to not be actually painful to the eyes. That much has been fixed now anyways.

I, for one, am interested to see where this project goes. Good tutorial software and formats are important, and I think the effort is commendable. I wish I could offer more feedback, but I haven't had time to listen much of the content on the site. And that may be a problem common to many of the posters here: audio-based tutorials are a time commitment, and when you're asking for that, all the little things like design start to matter even more. I've decided that I'm interested and that I will take the time later to look at it and give more thorough feedback precisely because Paddy (the OP) seems like a genuinely nice guy, and he's controlled enough not to take the color criticism too harshly.


Most people don't have the time or energy to evaluate all the possible factors that determine something's quality, so we use "irrational" methods of rapidly gauging whether something is worth our time and attention.

That's great. If you aren't actually going to look at something in detail, you don't need to post a comment. Also, if seven other people have already posted the same comment, you can probably also not post.

(If you don't have the time to evaluate something in detail, you also don't have time to post a comment claiming you evaluated something in detail.)


I don't think I made my point clear enough that it is in fact the little things that often influence whether or not we commit resources to a particular activity. You're right to suggest that just reposting the same comments about it being ugly is not useful, but some of the posters (including myself) tried to help.

The reason I posted a comment in detail is because I'm interested in evaluating and discussing human behavior.

Oh and you kinda seemed like your were riding on the high horse of holy practicality, and I just wanted to ruffle that up a bit. Whatever it takes to keep the discussion interesting, ya know?


This is a great idea. Can anybody recommend a place to look for help in sprucing up the visual design?


Nice Project!


congratulations, that's an awesome idea. i look forward to seeing it improve.


jquery?


Yes, you could have verified this trivially:

  $ curl http://terminalcast.com | grep jquery
    % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                   Dload  Upload   Total   Spent    Left  Speed
  100  4006  100  4006    0     0  18017      0 --:--:-- --:--:-- --:--:-- 39242
      <script type="text/javascript" src="http://static.terminalcast.com//js/jquery-1.3.1.js"></script>




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: