
My personal site is a terminal - madchops1
http://karlsteltenpohl.com
======
mijoharas
So, because it was a terminal, to exit it I automatically hit Ctrl+D, which
bookmarked the page.

Well played Karlsteltenpohl, well played.

~~~
ake1
Less well played: Ctrl+w

Granted this does happen a lot on all other sites when typing but being in a
terminal much instantly triggered it.

~~~
nerdponx
The Jupyter terminal actually does manage to hijack ctrl+w and ctrl+t, at
least in IE Edge. Not sure how they manage it but it's kind of a nice touch.

------
laumars
Nice idea. I really wanted to like this but I'm not so sure you've pulled off
the execution. Just after a couple of minutes of usage I found so many
compatibility differences between that a real shell that navigating around
your site became rather frustrating:

    
    
        * Tab completion was glitchy
        * Deleting characters mid line was glitchy
        * Commands don't follow common idioms:
            - `ls *` would fail
            - `ls -l` would fail
            - `ls ` (space char after `ls` command) would fail
        * I couldn't select the output from `ls` to paste into the prompt
        * Symlinks don't behave link symlinks:
            - I cannot `cat` them, have to click with a mouse
            - Yet they are still displayed as a file in `ls`
        * Common readline shortcuts like ^U don't work
        * It barely works on mobile / tablets:
            - Scrolling is all over the place
            - Screen doesn't resize to use the full screen
            - Pain to type commands on mobile keyboard because they auto-capitalise first characters
    

Also there seems to be some latency between keypress and the character
appearing which makes the experience a little jarring too.

Given this is your main way to navigate the site rather than a secondary
navigation system, I think it's something you either need to go full out or
not bother at all as the novelty of a partially compatible - inspired by Bash
- approach wears off very quickly resulting an in frustrating overall
experience.

~~~
digitalsushi
I enjoyed the hell out of it. It was like seeing something familiar from my
world, in cake form at a restaurant. I flicked it with my spoon, had a
chuckle, and moved on. It's a toy, not a tool.

~~~
laumars
> _It 's a toy, not a tool_

I think it's fair to say it's both because it's the primary navigation tool on
a site with a fair amount of linked content (otherwise what's the point in
putting content on it if it's not meant to be discovered?)

As a toy, I do completely agree with you. As I said in my previous post, I do
really like the idea. But as a navigation tool I think there are areas for
refinement while retaining the same fun factor.

~~~
ch4s3
I think you're being pretty harsh towards a neat personal portfolio site. It
would be different if it were for a product or service, but it isn't, it's
just a fun personal site.

~~~
laumars
I think you're being pretty harsh about my intentions. I said it's a nice idea
and worded all of my feedback constructively thus if the author wishes to
further develop this they know areas one user struggled with.

I approached my feedback in terms of what I would like to read if I were the
author and I mean that honestly because if this were my project I'd have
valued that kind of post more than vague comments like " _this is awesome_ "
(which are obviously nice too but doesn't offer any guidance for enhancement).

As an open source contributor myself, I know how negative some people can be
when you release a project. But at the same time we (myself included when I
release products) cannot expect every comment to be glowing with praise. The
real question is whether feedback is constructive or just critical. I felt I
was the former and I sincerely hope that's the way the author read it as well
because I did genuinely like the concept even if I raised specific issues
about its execution.

~~~
ch4s3
I guess tone is hard to read online sometimes :)

~~~
laumars
Very true.

------
59nadir
Your `cat` command doesn't take multiple arguments, which is ironic since it's
supposed to concatenate multiple files.

~~~
akuji1993
The cat command doesn't do anything for me right now.

------
hprotagonist
The effects during typing are a little distracting.

Do you plan to allow the usual string navigation shortcuts that my hands are
apparently unable to type without? (^-a ^-e ^-k, etc.) ?

~~~
cyberferret
Yeah, the one thing that made me click away from the site was the particle
effects when typing. It really broke that 'suspension of disbelief' moment for
me. I know it is not a real terminal, but if you are going to go to the effort
of making people feel they are interacting with a terminal, then don't break
that illusion with fancy chrome.

~~~
acobster
Agree. It's a fun effect to show off as a FE dev I guess, but it feels out of
character. Maybe make a "party mode" or something? You could click a disco
ball to turn it on! :D Other than that, cool idea and well executed.

~~~
borski
That's actually from an atom plugin called Activate Power Mode:
[https://atom.io/packages/activate-power-
mode](https://atom.io/packages/activate-power-mode)

Some of my colleagues use it and I tell them they're absolutely nuts, but they
swear by it. It reminds them their code has meaning, I guess? Haha

~~~
microcolonel
I once helped conduct a hiring interview where the candidate had that enabled,
it had an especially bad effect on the video compression in google hangouts
screensharing.

------
nextstep
Hey I just wanted to point out that this really cool site you built doesn’t
have some of the features of a full terminal on Linux.

~~~
mmphosis
I am especially annoyed that little exploding color circles don't appear when
I type on a full terminal on Linux.

~~~
PhasmaFelis
I expect to see a GitHub project adding exploding color circles to a popular
terminal app within a week.

Edit: Never mind, someone time-travelled and did it a year ago.
[https://atom.io/packages/activate-power-
mode](https://atom.io/packages/activate-power-mode)

------
romanovcode
If the point of the site is to find clients/recruiters/etc.. then you should
scrap this idea.

While technically this is somewhat impressive nobody who this site is aimed at
will type commands to see your work/cv/etc.. They will just close the tab and
move on.

~~~
rampage101
Sad but true. I spent some time building a personal site mostly for fun, but
also to get back into industry. Many companies view a blog as a liability...
better off studying for a few months to get some extra certifications.

~~~
pattle
What do you mean by they view a blog as a liability?

~~~
matwood
I think it depends. If you're blogging about technology findings it's fine. If
you're blogging about how much you hate <insert politician here>, then yeah
companies may see it as a liability.

------
spocklivelong
I had mine for a while now
[http://chandrabhavanasi.com/](http://chandrabhavanasi.com/) which was based
off of jquery and a bunch of hardcoding. I haven't updated it in a while
though. The new ones I see once in a while on hn like these are pretty nice
though.

~~~
diegoperini
Mine too. Completely useless but fun to create. (dperini.com)

------
commenter1
I guess it works as an art project, but as a website, it's a complete failure.

------
lulzury
Your personal site doesn’t work on Safari Mobile.

~~~
Const-me
And has major layout & script problems on MS Edge.

~~~
laurent123456
And on Firefox the vertical scrollbar keeps randomly going up and down.

------
pvsukale3
[https://vishaltelangre.com/](https://vishaltelangre.com/)

Checkout this one. It's built using Elm and is responsive.

~~~
aq3cn
Would you mind if I use your source code to set up my own similar personal
website? Of course, I will give the credit to you. By the way, I am impressed
with this novel idea. I will tinker around the code to add my own features.

[https://github.com/vishaltelangre/vishaltelangre.com](https://github.com/vishaltelangre/vishaltelangre.com)

~~~
pvsukale3
I'm not the creator of this website. You can contact him on Twitter

------
fimdomeio
problem with the site is that since it only implements a subset of what one
would expect from a shell you're constantly inputing things that do not work.

~~~
pmoriarty
Try jslinux

[https://bellard.org/jslinux/](https://bellard.org/jslinux/)

------
JonRB
I love it, but my minor nitpick is that if you press tab for auto-complete it
jumps up and back down again (in Firefox, anyway)

------
skrebbel
Obligatory for HN: here's a VC whose site is a terminal:
[http://neuvc.com/](http://neuvc.com/)

~~~
seedie
I realized it got me when I typed "exit", trying to leave the website

~~~
polar
Ha, I ended up bookmarking the page (Ctrl-D).

------
tschwimmer
Similar, but with no input lag:
[http://www.clarkduvall.com/](http://www.clarkduvall.com/)

~~~
drawnwren
Interestingly, this one doesn't register as text input with vimium so it's
completely incompatible. OP's does register.

~~~
floydianspiral
haha I know clark and this is ironic since he's obsessed with vim!

------
Trufa
Well, better than mine I suppose.
[http://trufavarela.com/](http://trufavarela.com/)

~~~
yeukhon
I guess my sloth is slightly more entertaining.
[http://yeukhon.me/](http://yeukhon.me/)

~~~
wybiral
<marquee> still works!?!?!?

~~~
yeukhon
Yes! Like Dreamweaver is still alive!?!?!?

~~~
Jaruzel
I still use Dreamweaver 8 and 9. (They are the same thing actually, 9 is just
rebranded as 'Adobe')

No, I don't use design mode; I always live in code mode.

I've added the HTML5 intellisense/syntax-highlighting add-on extension, which
brings it up to modern standards, and I've created new HTML5 templates.

It supports all the languages I need, and means I can have CSS, HTML, and JS
all in the same editor with the same IDE features.

It does me.

~~~
yeukhon
It was fun though. I learned to use Dreamweaver MX because at the time I was
in elementary school and my teacher just started a campus newsletter club. We
were also lucky to have computer class and got some HTML lessons. Mind you,
this was 1999-2003 in HK. I was very disappointed at US’ computer class in my
junior high.

------
harshil9968
I liked the whole thing, I would like to see alias like `ll` preconfigured in
any good terminal.

there are some issues with errors some of the places it doesn't show that.

When changing directory (going back to home) it doesn't work and doesn't even
show the error.

~~~
harshil9968
command `cd ~/` doesn't work.

------
shmerl
Try [https://duckduckgo.com/tty/](https://duckduckgo.com/tty/)

~~~
aq3cn
How do I make onscreen keyboard pop up in android os. I am using firefox.

~~~
shmerl
Not sure. May be try to tap and hold? It might be not a normal text field, so
Firefox might not understand it. There can be some global gesture for it may
be.

------
ipsin
It'd be interesting to collect stats on all the commands people try to run,
and to implement all the ones Linux users are likely to have wired into muscle
memory.

~~~
synicalx
I bet there would be A LOT of 'rm -rf /'-ing going on. I'll admit it was about
the second thing I tried.

~~~
graysonk
In the same vein, I always try ‘cat /etc/passwd’

------
synicalx
Cool site that doesn't run like a dog, I'm impressed! I actually spent a few
minutes fiddling around trying to see what I could do on the terminal, can't
say that for many other sites.

If I could offer one little bit of feedback; some labels on the menu at the
top would be kind of handy, a few icons are easy to recognize but some aren't
(at least for me).

------
ntht8
Looks pretty broken for tab completion... Also you can't cat the .ai file? or
open it? Whats the point.

~~~
apthnz
It took me a sec to realise duchess.ai was a folder, not a file, and then
another second to realise tab completion was trying to send me to duchess.air
for some reason. Cool concept, just a couple of little things to iron out.

------
irrational
So... I can just view source and see all the available data. That is a lot
faster then typing in commands.

~~~
reustle
You could also just run tree on your computer instead of navigating
directories

------
throwanem
My personal site works on a phone.

------
cordite
I also can’t interact with it on my iPad. No keyboard comes up or a button
like backup.

------
keithnz
really "jumpy" when using Firefox Quantum.

I found it frustrating, I didn't actually end up seeing anything other than
the terminal I tried changing into folders, but it didn't seem to work. Seems
broken.

------
mylesab
That's awesome!

I did a similar design for my tilde.town site:
[http://tilde.town/~myles/](http://tilde.town/~myles/).

~~~
leshow
doesnt work on FF either

------
jeff_vader
If you really want to attract attention, use jslinux[1].

[1]: [https://bellard.org/jslinux/](https://bellard.org/jslinux/)

~~~
seba_dos1
Cross-compiling bash to JavaScript and implementing VT would probably be
enough :)

------
a3_nm
Interesting, but Tab completion seems broken:

    
    
        cd Foosball/
        cat r<tab>
    

Selecting text (on Firefox) doesn't seem to work either.

~~~
hk__2
> Selecting text (on Firefox) doesn't seem to work either.

It seems to be intentional. It works if you deactivate JavaScript.

------
giancarlostoro
I don't mind this but I wonder what it would take to make it so you could SSH
to the same domain and make it somewhat interactive. Letting anyone connect
with any username (and based on their username allow them to open files
personalized to that) I often wonder the effort it would take to make custom
shells for people to connect to without giving too much access to a server for
personal reasons.

------
z2
Reminds me of the XKCD April Fools terminal, whose code is actually available
here:
[https://github.com/chromakode/xkcdfools](https://github.com/chromakode/xkcdfools)

------
yeukhon
So is this just JS or an actual terminal is behind? Looks like just JS... I
would love to see someone actually expose a shell.

~~~
icebraining
Is it ok if the shell comes with a full Linux kernel? :)

[https://bellard.org/jslinux/vm.html?url=https://bellard.org/...](https://bellard.org/jslinux/vm.html?url=https://bellard.org/jslinux/buildroot-x86.cfg)

(by the amazing Fabrice Bellard)

------
FruityFaiz
I love it!

Just one thing though, when hitting tab it seems to be getting the root file
and it doesn't work then.

E.g cd Photo-Video cd Sunrise<tab>

------
eih
Pretty neat, but those particle effects are strange for me. Similarly, I've
never used yet but Unixstickers has a terminal like interface on their
website:
[https://www.unixstickers.com/terminal](https://www.unixstickers.com/terminal)
You can use it for shopping.

------
AlphaWeaver
Nice! I made a site where information was primarily exposed via keyboard input
(my personal site as well[0]) but I had to make sure mobile worked okay so I
made a static version for mobile users.

[0]: [http://me.thatcoolidea.com](http://me.thatcoolidea.com)

------
animesh
I cannot type in Firefox as I have the 'Search for text when you start typing'
setting enabled.

------
rafaqueque
I understand what others are saying: there's a lot going on at the same time.
Getting rid of the effects while typing would be a major plus.

I've also done something similar, but way simpler:
[https://rafael.pt](https://rafael.pt)

------
p4bl0
In the same vein, try out [https://desfontain.es/](https://desfontain.es/)
it's the personal website of a friend and you can navigate it like if you were
playing nethack.

------
ellyagg
What a cool idea! I was hoping there was going to be a directory of blog posts
I could `cat`. I feel like there's some fun potential here if you keep
fleshing it out, but of course who has the time?

------
alexpetralia
I enjoyed how many people are quick to criticize that this doesn't work as
well as an actual terminal. Because that was definitely, absolutely the point.

------
AmitJS
Nicely done. You have mentioned ` Daytrader w/ Machine Learning ` How is that
going on for you ? Can you guide me on how to get started.

------
shusson
Reminds me of [https://github.com/zeit/hyper](https://github.com/zeit/hyper)

------
MR4D
Anyone know how to get this to work on an iPhone?

No idea how to bring up the keyboard (and it doesn’t happen automatically in
case someone asks).

------
deusofnull
This is pretty awesome. Youre gonna get a lot of attention, what with your
resume being on the front page of hackernews...

------
eschutte2
Reminds me of [http://alinelerner.com/](http://alinelerner.com/)

------
philjackson
The completion doesn't work properly. It's a super fun little project, but,
very frustrating to use.

------
aq3cn
How do I make onscreen keyboard pop up in android os? I am using Firefox in
android.

------
erikbye
I'm unable to start Vim.

------
scalablenotions
"Just one thing" \- I'm sure Karl knows this is not fully-fledged, bug-free
terminal.

Great concept Karl, I think you're a no-brainer hire for anyone who wants to
add out-of-the box problem-solving to their team, since you just hacked your
personal brand publicity very creatively :)

~~~
reificator
This kind of site has been around for a long time. Amusingly enough there were
even image boards with this approach.

------
yosyp
$ cd Labs/

$ cd ../Projects <\-- this does not work, the cwd remains Labs/

------
tekacs
I built one of these ~7 years ago (I feel old :( ) based on this over here
[1], inspired by the XKCD CLI [2].

This is certainly prettier!

[1]: [https://github.com/tekacs/RCLI](https://github.com/tekacs/RCLI)

[2]: [https://uni.xkcd.com/](https://uni.xkcd.com/)

------
bolololo1
I like the idea!

Finally an interesting website - don't listen to the moaners.

------
ForFreedom
That concept is f __*ing cool... love the idea

------
Lapsa
first command I tried: `rm / -rf`

------
ggchappell
Cool.

Also, figlet sighting, "large" font. :-)

------
phirschybar
I love this.

------
gnulinux
Those visual effects are annoying beyond comprehension. You should find a way
for users to disable them easily.

------
sebbean
Why?

------
brianjking
This is quite neat!

------
aynawn
how do you open the resume?

------
ambewas
rm: command not found

:(

------
madchops1
Thanks!

------
cat199
if you call yourself a hacker, you aren't one.

------
hasenj
The concept is cool, but I'd like to point out a couple of issues.

The explosion/flashing thing is somewhat annoying. Honestly comes off as
childish.

Tab-completion _deletes_ word under cursor if no match is found? Why?

Why is the terminal built on angular? Seems like an overkill. Partly because I
think Angular is a terrible abomination, but in general there's not much going
on there to even warrant a framework.

------
LASR
Nice work. But honestly, you're making it incredibly hard to quickly see your
accomplishments.

------
jlebrech
for added beauty put it in a DEC vt05
[https://en.wikipedia.org/wiki/VT05](https://en.wikipedia.org/wiki/VT05)

------
rajeshp1986
This is so cool!!

