Can NAT traversal be Tor's killer feature? - <AUTHOR> https://gist.github.com/obvio171/73122ba490c864644792#file-can-nat-traversal-be-tor-s-killer-feature-md

<comment><USER2> I've run an IRC bouncer and SSH reverse tunnels over Tor for years. Not for the privacy but just for the ease of use. Also it reduces concerns with maintaining up to date linux hosting. While the risk of my .onion being discovered through the cat-and-mouse game that is de-anonymizing .onion's may permit some 3 letter agency to discover and root my host I at least reduce the attack service drastically by completely removing internet script kiddies from the threat model. So their is a security benefit in addition to the NAT transversal. The NAT transversal really makes a different and very easy reverse workflow possible. With some simple haggling with scripts and SSH you can reverse almost anything that is low bandwidth. I totally agree there is something to the ease of use provided that services have not fully explored yet.

And since most single-peer to home services never require an exit node bandwidth is never an issue. File transfer, remote mail, even a reverse tunnel to use a home IP as your exit node, all work with little to no bandwidth constraints. I really believe there are services to be built on this ease of use. Things that utilise these features without requiring one understand SSH reverse tunnels and the likes.

Finally, somehow I think the more services built on such a model the better we will understand how to fix some of the major flaws of the internet as a whole. Namely discrimination based on GeoIP comes to mind. If the internet were built in this manner instead of addressing a service I could have it address me through my own .onion reverse I think location discrimination would become a much more complex task. GeoIP is becoming much more fundamental. as the xkeyscorerules100.txt shows GeoIP is no longer just something used by media companies to prevent someone watching TV out of country and is today used to determine citizenship and basic civil liberties.

<comment><AUTHOR> Those are very clever uses of this idea, glad to hear more people have thought of and run with it.

I hadn't given GeoIP much thought yet, but you make an excellent point. GeoIP determining citizenship and basic civil liberties is indeed crazy scary. Can't get more "the architecture is the truth" and "code is law" than that.

Let's hope someone smarter than me can figure out a good way to make this interface easier to use and more widespread, be it with a virtual network interface or not. It could just be a well-design, dead-simple API for building serverless/p2p apps on top of hidden services without knowing Tor, or a streamlined way to do tunneling as you're doing.

</comment></comment><comment><USER3>
      As good as Ricochet and OnionShare are, they still had to go
      through the trouble of integrating hidden services themselves.

This is definitely part of the problem. I looked into tightly integrating Tor / Hidden Service connectivity into some apps, but was disappointed there aren't widespread libraries, and that you have to fall back to asking the user to install Tor separately. At least there is a bit of a control-plane API to configure Tor from your App over sockets.

One library I was able to find for Tor called Orchid: [http://www.subgraph.com/orchid.html](http://www.subgraph.com/orchid.html) if you browser through the code it will give you a real appreciation for the complexity of the protocol. So after seeing that, I didn't feel so bad about the lack of Hidden Service libraries. But the current process of setting up a Hidden Service is definitely not for the average user.

</comment><comment><USER4> Have you looked into WebRTC much? It supports arbitrary (text or binary) data transfer between browsers, in both TCP-like and UDP-like modes, with inbuilt NAT-busting (both STUN and TURN). It does NAT-busting rather than VPN, so it's faster than either Tor or a VPN.

So if the reason you wanted NAT traversal was "my (browser|game|filesystem) wants to share data with someone else's", WebRTC is a far easier answer, and is now available to most browsers[1] without extra software installs. It does involve a privacy loss of your connection details to the STUN/TURN server, but the signaling server cannot decrypt your (DTLS) communication.

If the reason you want a global LAN isn't those things, what is it?

[1]: Available outside browsers, too: see e.g. my Node WebRTC chat client -- [https://github.com/cjb/serverless-webrtc](https://github.com/cjb/serverless- webrtc) \-- or the native C++ API.

<comment><USER5> Also, there's a wonderful open standard called ICE - [http://en.wikipedia.org/wiki/Interactive_Connectivity_Establ...](http://en.wikipedia.org/wiki/Interactive_Connectivity_Establishment) \- that 'properly' encapsulates STUN and TURN into a very effective NAT traversal mechanism.

IIRC, Google's Jabber/XMPP library - [https://developers.google.com/talk/libjingle/-](https://developers.google.com/talk/libjingle/-) that was once actively maintained had an ICE implementation that also included access to Google's STUN/TURN relays but sadly this has gone unmaintained.

<comment><USER4> ICE is used by WebRTC. libjingle has been brought into Chromium, including STUN/TURN to Google's servers. So both of these things are now shipped in the browser; quite the opposite of being unmaintained.

<comment><USER5> I mean I haven't seen releases of libjingle anymore.

</comment></comment></comment></comment><comment><AUTHOR> Here's a related way to maybe add a ton of new relays to the Tor network without having to go all "transparent through virtual network interface" right from the start:

1\. Make a torrent tracker that serves out peer onion addresses (OAs?) instead of IPs;

2\. Fork Popcorn Time, make it create a hidden service for itself and connect to the OA tracker;

3\. Make the Popcorn Time fork also a relay by default. You'll add a lot of load to the network, so you have to give back.

Probably wouldn't be able to _stream_ anything, but otherwise should work.

<comment><AUTHOR> This "Popcorn Tor" (too bad can't use the name ;)) could also soft-enforce some download limit based on the amount of traffic the user has relayed. Sane defaults and interface nudges can go a long way.

</comment></comment><comment><USER6> NAT traversal isn't a problem these days. The issue is bootstrapping the traversal. Use the hidden services to exchange real IPs and set up the VPN link to route around the slowness of Tor.

<comment><AUTHOR> That could also work. You lose all the anonymity though, so only makes sense for when you need bandwidth and opt out of privacy. You could have separate virtual network interfaces for the different use cases.

</comment></comment><comment><USER7> I think this is kind of related to Geoffrey Goodell's argument from 2006 in

[http://www.sobco.com/papers/tr-06-06.pdf](http://www.sobco.com/papers/tr-06-06.pdf)

I was trying to remember who at Harvard had written about this and I think that's probably the report I was thinking of. Maybe I should also suggest his thesis

ftp://ftp.deas.harvard.edu/techreports/tr-12-06.pdf

<comment><AUTHOR> Thanks, I'll read them up. Skimming through, I saw this: "We [...] have built a system we have deployed on the Tor anonymity network [8] and on PlanetLab [13]."

Do you know if it's still alive or what happened to it? Was it released/adopted at all?

</comment></comment><comment><USER8> Relevant: [https://github.com/ipop-project/ipop- tincan](https://github.com/ipop-project/ipop-tincan)

Libjingle is the underlying library of Google Talk and WebRTC implementations.</comment>


Is software development really a dead-end job after 35-40? - <AUTHOR> http://brianknapp.me/software-development-dead-end-job/ <comment><USER2> a good quote from the article: "The way to avoid the same fate as the previous generation's industrial workers is to continue to learn, grow, and gain skills that are valuable beyond the very particular skill you have now."

I am in my 60s, and while I still work on interesting projects as they come my way, the majority of my "tech time" is now spent studying and learning new things or doing deeper study of older technology. I consider myself to be very fortunate to have the financial resources and time to do this! I used to use neural networks in the 1980s for projects for SAIC and DARPA and in the last few years (like millions of other people) I have become very interested in deep learning, especially as it applies to natural language processing. This is a practical thing to study. Less practical: I am taking a deeper dive into Common Lisp and Scheme (I wrote books on each language for Springer-Verlag decades ago) studying not just practical applications but also getting deeper into both languages. This is not so beneficial financially but is a lot of fun.

</comment><comment><USER3> This seems like a very odd answer to the question since the undertone to this question is whether you will be discriminated against based on your age when you start becoming visibly old.

<comment><USER4> Yeah, he goes off at a tangent. Felt a little click-baity to me, because I was interested in reading about age discrimination.

</comment></comment><comment><USER5> While nothing written here is untrue, isn't its premise kind of self evident? Whether you're 22 or 52 the key to staying relevant in this line of work is to never stop growing and learning.

<comment><USER6> The premise here is that many people (most, even?) are not as interested in career growth and learning once they hit 50 as they were right out of college.

That fact is what makes many people consider software development a dead-end job unless you get into management at which point the growing and learning becomes much more like other professions.

</comment></comment><comment><USER7> I just turned 40. Definitely not dead end for me. However:

* I look quite young for my age (most put me closer to 25)

* I work in a small company. I'm an employee, but my role is closer to being entrepreneurial. I have significant flexibility in our stack, tools, etc.

* I have no kids and rent my home.

<comment><USER8> I passed 40. I have kids and got a huge mortgage on my home. I used to do development but somehow I got into doing more architecture and advising.

I miss developing but try to do some on my spare time, but I have to be careful with IP because of my current contract states that anything I produce potentially is not owned by me.

My experience working as a developer was that it got exponentially harder when I got my kids. Kids suck up all your free time and then also a little bit of your working time. Especially when they are small and need to go to kindergarten, they need to be picked up early, cared for and have vacations.

Don't get me wrong, I love my kids and how I have changed as a parent - but it made it much more difficult to compete with developers without kids and without a partner.

why? imo, when I was without kids and a partner myself I was much more productive, I worked all the time, always giving 100% and then doing free overtime just to fix that hard issue that had ready by certain time and date.

It is difficult to compete with someone like that.

</comment></comment><comment><USER9> Almost every job becomes a dead end if you don't pursue management by age 40 as there typically isn't anything more senior to aspire to after 10-20 years.

<comment><USER10> I wouldn't call it a dead end to be a senior programmer. Even if afterward you are never promoted, if you are making around $100,000 a year, then many people would be content with that.

And it's not like going into middle management would bring a higher salary. And your job security would be worse. Every time there have been mergers or cuts, the first to be cut is not the specialized technicians but middle management.

<comment><USER5> This. All of this. I will never stop coding if I can help it. Every coder I've ever met who got promoted to management (not hands on) ended up having a terrible time finding work after that role ended. No way. Not for me.

That said that's just my experience. Obviously there are no absolutes and managerial roles are necessary for a medium to large company to function properly. It's a shame that things are the way they are in that regard.

<comment><USER11> >Every coder I've ever met who got promoted to management (not hands on) ended up having a terrible time finding work after that role ended.

Where I work periodically upper management decides there are too many middle managers and fires a bunch of them. Guys who went into management in their late 30s and 40s don't have enough experience to stand out as managers and haven't kept up enough to go back to the technical track. Most of them end up finding _something_ , but it's usually not ideal (lower pay, longer commute, longer hours). Some call it quits and retire early.

Every few years someone from the company swings by my cubicle and asks me if I'd like to be a manager. I don't know whether to be flattered or insulted. Half those guys are gone by the time the question comes up again.

IMO the only way to do management in the US is to go to a prestigious school and start along a career path that puts you in the C-suite.

</comment></comment></comment></comment><comment><USER12> It would be interesting to have some statistical data on this question.

There are plenty of anecdotal information either way: I'm 45 and doing quite well as a software developer. So, no, not a dead-end job for me. On the other hand, I see less and less software developers my age or older in my company and others around.

So while I'm sure you will get a lot of anecdotal data in the comments, it would be great to get some actual statistically relevant data. Does anyone know any good source for this type of data?

</comment><comment><USER13> If you believe it is, then it will be for you.

<comment><USER11> If people in the position to hire you believe it, then it will be for you no matter what your thoughts are.

</comment></comment><comment><USER14> The day my "job" as a programmer disappear I will take my stuff and expend my time fishing all day in Alaska... Actuality, I'm looking very much forward to that.. :)

</comment><comment><USER15> Perhaps the question should be taking more literally. How many burned out software developers end up committing suicide relative to averages?

<comment><USER16> Oh don't over dramatize. Software develops have it way better than 90% of other people.

If you have burnout maybe you should just switch jobs.

<comment><USER17> Just switch to what?

<comment><USER18> Slightly off topic: I saw an interesting presentation once where the presenter complained that modern day developers are expected to do open source projects in their spare time in addition to all the work on the job and ended by saying construction workers don't have to do open-source jack-hammering. It is a bit unfair.

<comment> xkcd-sucks No open source jackhammering, but their wives still expect weekend house renovation

</comment></comment></comment></comment></comment><comment><USER19> Empty article. Adds nothing to universal happyness

</comment><comment><USER20> nope..

</comment><comment><USER21> Being someone else's employee is a dead-end job after 35-40. It has nothing to do with software development. The easiest way to counter that, is to at least engage in subcontracting. But then again, the whole idea of selling your hours to someone else is in itself a long-term dead-end strategy. Instead, build a platform and sell something else than your own hours on it. That is what your employer is doing anyway. So, why not do it yourself too?

<comment><USER22> I have a Co worker over 40 now. Dr and 10 years of project management and before that programming.

No one wants him anymore. Too old. And he is just slightly over 40.

I doubt it would be different if he would be self employed....</comment></comment>


I replaced my 6 yr old MacBook with a new one. And I regret it (somehow) - <AUTHOR> http://blog.orat.io/i-replaced-my-6-yr-old-macbook-with-a-new-one-and-i-regret-it-somehow/

<comment><USER2> TL;DR: He bought a Macbook Air when he needed a Macbook Pro.

<comment><AUTHOR> yes and no. it's about taking away features from an existing product line.</comment></comment>


Hand Coding A Personal Website - <AUTHOR> http://seogadget.com/hand-coding-personal-website/ <comment><USER4> Nice tutorial, I just disagree on two small points.

First, there are very sound arguments for not using CSS preprocessors [1].

Second, for a website that you own, using ".htaccess" is discouraged for performances reasons. The Apache 2.4 docs [2] say:

 _" You should avoid using .htaccess files completely if you have access to httpd main server config file. Using .htaccess files slows down your Apache http server. Any directive that you can include in a .htaccess file is better set in a Directory block, as it will have the same effect with better performance."_

[1] [http://blog.millermedeiros.com/the-problem-with-css-pre- proc...](http://blog.millermedeiros.com/the-problem-with-css-pre-processors/) [2] [http://httpd.apache.org/docs/2.4/howto/htaccess.html](http://httpd.apache.org/docs/2.4/howto/htaccess.html)

<comment><USER5> How many Billions of visitors you need, until a local .htaccess slows down your Website significant ?

<comment><USER6> Very rough benchmarks running "ab" against a random page on localhost:

        with AllowOverride 215rps
        without AllowOverride 245rps

It makes a difference, but there's not enough data to conclude much.

<comment><USER7> so, what you're saying here is that if you skip the ease and convenience of .htaccess files, you can get better performance?

as in, if you get slasdotted (ha! i'm old!) your site will stay up either way as long as you're getting less than 215 rps. and it goes down either way if you're getting more than 245 rps. that's a pretty tiny window in the grand scheme of things.

yeah... i'd rather my personal site be easier to maintain.

and, as to the security of it -- if you have access to the httpd.conf file, i GUARANTEE you've got bigger holes in your own hodge-podge, whole-system security than something like an .htaccess file on which you'd have to work really hard and explicitly make insecure.

just sayin'.

<comment><USER8> _> as in, if you get slasdotted (ha! i'm old!) your site will stay up either way as long as you're getting less than 215 rps. and it goes down either way if you're getting more than 245 rps. that's a pretty tiny window in the grand scheme of things._

12% performance boost is actually quite a significant jump when you're pushing heavy traffic and looking to shave any fat from the stack you can find.

Also your comment about _" and it goes down either way if you're getting more than 245 rps"_ doesn't really make a whole lot of sense as the webfarm isn't going to magically crash the moment you get one request more. I suspect you're not really understanding what those ab results are representing, but that doesn't really matter as I wouldn't trust those figures for any real world usage anyway. As I pointed out in another post in this thread, the actual performance penalty will be subject to a considerable number variables.

 _> and, as to the security of it -- if you have access to the httpd.conf file, i GUARANTEE you've got bigger holes in your own hodge-podge, whole- system security than something like an .htaccess file on which you'd have to work really hard and explicitly make insecure._

You have things completely backwards there. httpd.conf is _more_ secure than .htaccess because httpd.conf can only be amended and actioned by root where as .htaccess will have lower security permissions and is loaded on demand (ie an attacker doesn't need to restart the Apache daemon to action any changes).

<comment><USER7> > I suspect you're not really understanding what those ab results are > representing

ah. no, no. i'm not adequately explaining where i was going with that. lemme try again.

1) it's not 12% on a web farm. it's 12% on one server.

2) that 12% manifests in a slowly degrading experience. so, it takes 4 seconds to return during peak traffic instead of 3 and a half. meh. whatever.

therefore, if you get hit by something that will _actually_ make a difference, it's not going to be within 12%. it's going to be like 12,000%. so, it's not going to make a whit of difference at that point whether you have httpd.conf or .htaccess.

>You have things completely backwards there

again, i'm not explaining myself well. i fully understand that, in theory, httpd.conf is more secure. i'm not talking about that.

if you have access to httpd.conf, you also probably have access to /etc/ssh/sshd_config -- did you configure that securely? does your server allow root logins? what about your mysql config? what about the latest security update to the distro?

i'm just saying, if you've got access to httpd.conf, you've got the whole server. that means you've probably got bigger fish to fry as to worrying about security than a pretty harmless, defaulted as secure, .htaccess file.

<comment><USER8> _> 1) it's not 12% on a web farm. it's 12% on one server._

Same difference. 12% on 1 server is 12%. But if you have a dozen servers with the same 12% gain then it's still 12%. Such is the nature of percentages.

 _> therefore, if you get hit by something that will actually make a difference, it's not going to be within 12%. it's going to be like 12,000%. so, it's not going to make a whit of difference at that point whether you have httpd.conf or .htaccess._

I manage a data centre for a number of high profile sites. If I can improve throughput by 12% then that means I need one less server in the farm. It means less strain on the db as connections are clearing down quicker. And it also means the likelihood of visitors hitting 'refresh' due to slow load times is reduced, which in turns slows the exponential growth that happens shortly before a site buckles. So trust me when I say 12% does matter if you're building busy sites - I know this because I wouldn't be doing my day job properly if I didn't load test this stuff and implement any free optimisations I can.

 _> i'm just saying, if you've got access to httpd.conf, you've got the whole server. that means you've probably got bigger fish to fry as to worrying about security than a pretty harmless, defaulted as secure, .htaccess file._

Yes, I'd already said the former point myself, however your latter point is still ignoring the simple fact that you don't need to be root to edit a .htaccess file. I repeat, you do /NOT/ need to be root to edit a .htaccess file!

Someone can edit your .htaccess file even when they don't have permissions to edit httpd.conf (and thus ssh_config nor anything else in /etc nor other root- owned config hierarchies). Thus if your http docs are writeable (and they typically are for personally web servers as you don't have a dedicated network storage such as a SAN shared across your web servers, so your content is stored on the web server itself) then a bug in your website could allow an attacker access to write to the disk in the web docs directory. In short, attackers could create and edit their own .htaccess files.

We're not talking about root access here, these are not attacks that have permissions to write to httpd.conf; we're talking about a http-owned (eg 'www- data' on Debian) users who shouldn't have ability to write files having that ability to edit the Apache config because .htaccess is not typically root owned.

If you want the convenience of a .htaccess file but the security of a httpd.conf, then change all your .htaccess files to be root owned:

        sudo find / -name ".htaccess" -exec chown root:root {} \; -exec chmod 644 {} \; -print

<comment><USER7> man. i must be terrible at communicating.

> Same difference. 12% on 1 server is 12%. But if you have a dozen servers > with the same 12% gain then it's still 12%. Such is the nature of > percentages.

no. you said it yourself. if you save 12% on a server farm, you can drop out a server. with a single vps, you can't or else you go from one server to none. and, we're talking about self-hosting vs. shared hosting, we're talking about a single server and not an elastic cloud. so, 12% degraded perf? meh. 12,000% degraded perf? boom.

> I repeat, you do /NOT/ need to be root to edit a .htaccess file!

yessir. i understand that. i've been writing apache vhost files (tho, i think back then it was straight-up httpd.conf files and not vhosts - <USER2> whatever. my memory sucks.) since the late-nineties on slackware machines.

my security point:

1) shared hosting -- by default, you have the ability to tinker with .htaccess files and NOT httpd.conf. this means for it to be insecure, you have to explicitly do something silly with it. not just turn indexes on or off. (indexing security arguments not withstanding)

2) vps/managed/under-your-desk hosting -- this is where you can actually make changes to httpd.conf. but, you're responsible for the whole machine, not just apache configs. you have to secure the entire machine and its services from ssh to ftp (eek!) to security updates and everything in between.

ergo: if the answer to httpd.conf vs .htaccess is "httpd.conf gets more performance" and "httpd.conf has better security"...

i say the performance isn't relevant in the self-hosted, non-clustered model and you've probably got bigger security holes in your server to worry about than some .htaccess files in your htdocs directories owned by www-data.

does that make sense?

<comment><USER8> _> no. you said it yourself. if you save 12% on a server farm, you can drop out a server. with a single vps, you can't or else you go from one server to none. and, we're talking about self-hosting vs. shared hosting, we're talking about a single server and not an elastic cloud. so, 12% degraded perf? meh. 12,000% degraded perf? boom._

That was just an example. But using yours, that's more the reason to try and save overhead because you don't have the ability to spin up extra nodes when traffic gets heavy.

 _> yessir. i understand that. i've been writing apache vhost files (tho, i think back then it was straight-up httpd.conf files and not vhosts - <USER3> whatever. my memory sucks.) since the late-nineties on slackware machines._

Ditto here :) I don't use Slackware these days I used to love that distro. Still miss it at times.

 _> 1) shared hosting -- by default, you have the ability to tinker with .htaccess files and NOT httpd.conf. this means for it to be insecure, you have to explicitly do something silly with it. not just turn indexes on or off. (indexing security arguments not withstanding)_

Well yeah, but it's a bit of a moot point because there are no alternatives to .htaccess with shared hosting. Plus they'll generally do some clever stuff to sandbox each users vhost (something along the lines of each vhost running as a different user, if I recall correctly. I've never provided shared hosting solutions my line of work is supporting high profile sites / cloud services)

 _> does that make sense?_

Not really. It's just a lazy dismissive argument in my opinion. Saying something doesn't matter because there's "probably" other issues is the kind of attitude that leads to servers getting hacked.

You seem a nice guy and experienced as well, so I'm not criticising your abilities. But whenever I hear others say "I can't be bothered doing xyz and there's probably other issues", they usually end up getting hacked (or breaking it themselves) a few months down the line.

<comment><USER7> > Ditto here :) I don't use Slackware these days I used to love that distro. > Still miss it at times.

right? ...stupid redhat coming along and making it obselete!

<comment><USER8> hehe (though to be fair, I was running Redhat before Slackware). These days I tend to manage Debian, SLES, FreeBSD (on personal boxes) and Solaris (plus one or two Ubuntu Server boxes colleagues have set up which I'm planning on wiping when no-ones looking hehe)

<comment><USER7> ha! that's awesome!

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> I was about to link this to a friend, who has been using Wordpress and expressed interest in learning more about how websites work, and then OP got into installing a local Apache server and using LESS to compile CSS, and I'm afraid it might intimidate her, since she's already hesitant about her capacity for learning this sort of thing. I'm not sure why either was brought up though. If OP is comfortable with these tools and wanted to write about his own experience, I could understand, but for the sake of a tutorial, what benefit does adding these complications, which present a risk of alienating some segment of the tutorial's audience, provide? Unless you need a back end language, you don't need to install a local Apache server; you can run html files directly from whatever folder they're stored in, and if you link with relative paths, you can transfer the whole directory to a live server and it will still work fine, and for the amount of rules a beginner will probably write for a small, personal website, using LESS is probably overkill. Furthermore, anyone who's comfortable with either of these practices would have no problem adapting them to a basic "building a website with a grid framework" tutorial, and everyone else can pick them up later, when their value becomes more apparent.

It reminds me a little of the way every Javascript tutorial I find lately seems to assume that you're running a Node.js server. Outside of maybe the HN crowd, are most people running Node servers? I doubt it. And it's almost never necessary; you don't need Node to configure routing or build some custom directives in Angular, for example, so why insist that people use it?

<comment><USER10> Node provides some very handy tools for working locally. For example, usage of Bower, the client-side dependency, uses Node. Node also adds the ability to do nifty stuff like utilizing Livereload for automatically refreshing a page when you make an edit to a file.

I will admit, using all these tools was initially intimidating for me, but getting comfortable with them was extremely rewarding.

<comment><USER9> Oh, there's no question that local Apache and Node servers can be valuable tools, but if you're trying to teach your reader something that doesn't strictly require them, why risk alienating people who aren't familiar? How many people who just want to learn how two way binding works are going to see a Node.js server as a "requirement" and move on?

</comment></comment></comment><comment><USER11> I've rarely seen such an off topic introductory image, but I'm more surprised to see that kind of very beginner info land on HN front page. Nicely written and everything, but... HN?

<comment><USER12> Everything old is new again.

<comment><USER13> [http://olds.ycombinator.com](http://olds.ycombinator.com)

<comment><USER12> "and in my day, stylesheets didn't even 'compile!'"

</comment></comment></comment></comment><comment><USER14> Having written pages, by hand, for ages now (like 15 years or so), I recently took this to a new level. I'm now hosting my site on my own hand coded webserver and no other server in front (please don't make me explain).

<comment><USER15> Please DO explain. I'm going to guess at a PHP based site?

I couldn't imagine trying to run my personal website ([https://github.com/Imdsm/PersonalWebsite/](https://github.com/Imdsm/PersonalWebsite/)) on a hand-written web server and database server, though if I did that would be an achievement.

<comment><USER8> It could be something like Go or Java which would provide the basic framework for you and "all" you need to do is write the handlers (this is how my latest project is written) rather than writing their own HTTP classes and just using the languages TCP/IP libraries.

However I too would be interested in reading more about the previous commenter's set up.

<comment><USER16> The first library I did for my compiled experimental PL was a HTTP server, pretty similar to what you describe.

I wonder about the performance and reliability of libraries like those (Go's http package, Ruby Sinatra/WEBrick, etc.); if they can be used in production.

</comment></comment></comment></comment><comment><USER17> The title made me think this was gonna be minimalistic, something like <title>My Great Website</title>
Hello world!

Find ye great content yonder.
 so I was surprised to see it using LESS and delving into .htaccess

</comment><comment><USER18> So your hand coding but using in OpenDAWS doesn't that defeat the purpose of doing it all yourself from first principals?

<comment><USER19> *principles

<comment><USER18> so I am dyslexic sue me :-)

BTW was hand coding sites back in 94 :-)

</comment></comment></comment><comment><USER20> I came to the same conclusion as the author recently, which spurred me to write a simple, no frills lightweight CMS. For those interested you can see it at [https://github.com/mox1/webpy-bootstrap- blog](https://github.com/mox1/webpy-bootstrap-blog)

Personally, I think there's a middle ground somewhere between writing everything yourself and using hosted Wordpress. I want to control the HTML / CSS of the pages on my site, but I don't want to end up in a WYSIWYG environment where all the details are hidden.

</comment><comment><USER21> Good for you - keep learning! Knowing how things are built from scratch will give you a level of understanding that will help in all sorts of situations.

However, I am at the opposite end of the spectrum. I have never used a template or boilerplate or anything. Every time I've tried to use a prefab site I end up spending hours tearing it apart and feel like I am going backwards.

That being said, I cannot really recommend my approach - find a happy middle, and your productivity will soar.

</comment><comment><USER22> I did something similar few months. I've been developing webapps using django for a while now. But my frontend skills (html/css) had always been very rusty. I decided to improve it by building a personal website without using any frontend framework or doing any server side development.

It was an interesting exercise. The output is here - [http://archisman.com/](http://archisman.com/)

</comment><comment><USER23> I haven't developed for the front-end web in a while, but is it considered hand-coding if a boilerplate this-or-that is used at every stage?

<comment><USER24> That was my first thought. I'm also kind of confused at who this is for...the author is a designer and assumes a firm knowledge of HTML/CSS.

How do you obtain that knowledge without doing anything outside of a CMS?

<comment><USER25> Quite easily, if you've made a business out of designing Wordpress themes; part of Wordpress's value proposition is, more or less, "you can make your site look exactly how you want it to, without needing to know anything about PHP except how to copy-paste these chunks of boilerplate where you want things to happen."

</comment></comment></comment><comment><USER26> Just like to add that if you're using FileZilla as your FTP client, make sure to not let it save your passwords, as FileZilla stores them in plaintext on the computer.

[https://forum.filezilla- project.org/viewtopic.php?t=30765](https://forum.filezilla- project.org/viewtopic.php?t=30765)

<comment><USER12> One way I found around this is to run filezilla from a script which copies the password file out of an encrypted drive then nulls the file when you're done: [https://gist.github.com/kennethrapp/7e58f10e149786baf06c](https://gist.github.com/kennethrapp/7e58f10e149786baf06c)

(I can't find the site I got this from though - and just not saving passwords probably would be better)</comment></comment>


The man who walked away from $250m. - <AUTHOR> http://business.timesonline.co.uk/tol/business/movers_and_shakers/article3821541.ece?token=&print=yes&randnum=727 Greg Coffey - Wizard of Oz, walked away from $250m to start his own hedge fund. <comment><USER2> This is more about the marginal utility of money than anything else. 250 million in 5 years is great if you have little cash but if you already made 300million it's just not that important.</comment>


Offer HN: Giving away expiring domain  - <AUTHOR>

I have owned the domain spjackets.com since 2010. It was originally used to sell invisible shield type screen protectors, but we have since shut down that business (Scratchproof Jackets).<p>This may be suited more for an ecommerce site, though I'm willing to bet fellow HNers can find a unique use for it. The domain expires in 3 days so send me an email (in my profile) asap if interested! <comment><USER2> I'm not interested in the domain but thanks for putting it out there to the community. Btw ... if you did a write up on how the screen protector business experience was for you, that would be incredibly useful to the community IMHO.

<comment><AUTHOR> Thanks for the comment, I have been meaning to start a blog and maybe that could be the spark that I need. It was an interesting experience even though we moved on about 1.5 years ago from that business.</comment></comment>


Show HN: Parcel, a simple resource bundler for Golang - <AUTHOR> https://github.com/phogolabs/parcel <comment><USER2> The project looks nice and easy to use but I wonder if it might be confused with the javascript bundler named Parcel.

[https://github.com/parcel-bundler/parcel](https://github.com/parcel- bundler/parcel)

<comment><USER3> This was my immediate thought as well. Impossible to ignore a project with > 20k stars with the same name.

</comment></comment><comment><USER4> There are quiet a few of these applications. I wrote my own when I saw that go-bindata (which I'd previously been using) was abandoned.

For comparison purposes:

[https://github.com/skx/implant](https://github.com/skx/implant)

My code is smaller, but it doesn't contain the filesystem-walker, etc.

</comment><comment><AUTHOR> Thank you for the feedback. I just renamed the package to parcello. It's pretty much influenced by all those that you have mentioned.

I have some hard times to make COFF works. Have you tried to compile syso files within your go binaries for Darwin?

</comment><comment><USER5> It got renamed to Parcello: [https://github.com/phogolabs/parcello](https://github.com/phogolabs/parcello)

</comment><comment><USER6> Nice! Packr is pretty good too, what I currently use.

[https://github.com/gobuffalo/packr](https://github.com/gobuffalo/packr)

</comment><comment><USER7> I have used go.rice before. This looks similar.

</comment><comment><USER8> I like this.</comment>


Buying Storage for a Virtualized World - <AUTHOR> http://www.focus.com/articles/servers-storage/buying-storage-virtualized-world-four-things-you-need-do-now/

<comment><USER2> I'm curious: Did anyone else read "to do NOW" in the title as "to do Network Of Workstations"?

I think I might have too much clustering on my brain...</comment>


Windows Explorer Through the Years - <AUTHOR> https://gekk.info/articles/explorer.html <comment><USER2> Sorry for offtopic, but I'd like to share a tip I can't imagine living without. You can type cmd in explorer address bar and it'll open cmd in that directory (probably works with any other program in your %PATH%). Also you can type `explorer .` in cmd to open explorer in the current directory.

<comment><USER3> Another tip: Shift-Right-Click a file in Explorer and "Copy as path" will appear in the context menu.

Puts the full file path in your clipboard.

<comment><USER4> Da fck.

I recently learned you can add this feature to the right click context menu via adding a registry entry.

If I'd'a known shift-right click I wouldn't make bothered.

<comment><USER5> Shift right click has always been the way to get the "advanced" context menu. Well, at least back to Windows 95. Fun fact: since the shortcut for the context menu is Shift+F10, you'll always get the extended menu since you'll always have shift pressed when the menu appears.

<comment><USER6> Did not know that! I've always used the "menu key" for keyboard access to the context menu instead.

<comment><USER7> Looks like shift+menu key does the same thing, too

</comment></comment></comment></comment></comment></comment><comment><USER8> My favourite advanced secret feature of Explorer is that you can sort files by multiple columns. First sort by the primary column such as file type, and then shift-click a secondary column such as date to add it as a second sort criteria.

<comment><USER9> Can't you do that by sorting by the secondary column first, then the primary? I think the sort is stable, so that works.

<comment><USER8> No, when you non-shift-click a column it seems to reset the secondary sort field to the filename regardless. And this method will make it remember the multpile sort criteria when navigating across folders and restarting Explorer, which goes further than just stable sorting.

<comment><USER9> Hm, you are right!

</comment></comment></comment></comment><comment><USER10> Starting in Windows 8 :

> _The Ribbon is unspeakably messy, and unspeakably large, and as I said I am > not going to attack it in detail because this is a long-running Microsoft > hobby horse. Suffice to say I feel it is a usability disaster and does not > belong in any program let alone Explorer, however, it has the one saving > grace that it is both collapsible, and defaults to that state, so most users > almost certainly never even found out it existed, making this a lean, usable > Explorer wrapped in a weirdly noisy border._

I always find this ribbon to be incredibly ill-designed, may it be in Explorer or in MS Office : the biggest icons I almost never use whereas the ones I use most are painfully small (font management in MS Word to cite but one).

<comment><USER11> I get a sense the ribbon design is a bit aspirational, with emphasis on the things they think you should use instead of what is actually used. For example, I'm sure they feel you should be using styles instead of fonts, and so the styles control takes up a lot more real estate than the font chooser.

<comment><USER12> Some of the Ribbon Designs are aspirational, but also some of the Ribbon Designs are simply telemetry-based, with an emphasis on the things users do most. I'm rarely surprised how many people complaining that the things they use most aren't well emphasized are also among the first to disable telemetry.

The intersection of the aspirational and telemetry-based approaches is something of the "Office 20% Rule". The long standing aphorism is that everybody only uses about 20% of the features of a given Office application, but that everybody's 20% is different. That "Rule" is exactly why the Ribbon will never be "perfect" in what it emphasizes, it can only aspire to try its best given the goals it has (aspirations) and the data available (telemetry).

</comment></comment></comment><comment><USER13> The article says that Windows 95 file explorer is not that deeply altered from File Manager. While this might be somewhat true in visual sense, it is completely different beast in what it does.

File Manager was just what it says on the tin and showed directories and files, while Explorer displays what is essentially an arbitrary graph of COM objects and allows you to call methods on them. One particularly notable point about that is that it is not that MS renamed directories to folders in Windows 95, these are names for two slightly different concepts. Directories are on filesystem, while folder is essentially anything that can be shown as explorer window (including desktop, control panel, various synthesized views of start menu contents, "god-mode menu"...).

<comment><USER14> What about "Libraries"? I could never tell quite what they were trying to do.

<comment><USER12> Libraries are great. They were intended to be a handy tool for casual Windows users, but unfortunately did not get the UX clear/simple enough for casual users so it got relegated to the Power User tools most people will ignore (and de-emphasized in Windows 10 to the point where it's mostly only Power Users left that will bother to find Libraries and activate it).

The attempted explanation from the article.

> Windows 7 introduced this concept - Libraries, meta-spaces that grouped > together multiple actual folders on the disk to create what database > developers call a view. The Pictures location is not just a folder, it's > potentially several folders. Don't worry about it, Windows will figure this > out for you and simply present what you wish to see. An interesting idea I > don't believe anyone wanted, or that in fact really worked at all.

Libraries work pretty great. There's still a few issues with them, mostly in specific applications that use older common dialogs for whatever compatibility reasons, but they do what they are designed to do: a Library is simply a virtual folder that aggregates other folders. The article's comparison is to a database view versus a table and that's an accurate analogy.

Any folder can be in a given library with one big caveat (and it is possibly the biggest that I've seen often trips casual users) so long as it is actively indexed by the Windows Search services (which is why it especially breaks the casual users that are the sort of mid-level almost power users that heard somewhere turning off Windows Search services was a "performance boost"). (Because it is Search services that provide the "view", and is the database powering the virtual folder.)

The default Libraries are based on the old school My breakdowns: My Pictures, My Documents, My Music, My Videos. But you can create your own Library of any combination of folders of interest to you.

One place it is very useful is for instance my Documents library. I can have one view that shows Documents I've got stored locally on the device only, stuff I've got in Dropbox, stuff I've in OneDrive, stuff I've got in iCloud, stuff I've got in Resilio Sync shares. It doesn't matter to me "where" I've got that particular file stored, I can search/browse the Library and access/filter/group all of the files in one place.

I can even set the default save location to whichever cloud (or otherwise) service I most trust at the moment, so if I just save a new file to my Documents library, it'll save to the Resilio Sync folder I chose this week. Last week it was a OneDrive folder, and maybe next week my needs will change again I will be back to the local-only folder. No matter which "where" it is currently pointing to, I can just select the Library in the File > Save dialog, save, and the Library will handle remembering which folder I wanted to save to this week.

OneDrive today offers the option to entirely replace the local-only Documents folder, and if that's the only provider I used that might be a good option. Libraries fit really well in this world where I have multiple providers for different needs and with different storage capabilities.

On my work computer one of those Documents folders might be a file share (so long as it is a relatively recent file server with up-to-date Offline and Search Indexing capabilities).

The same expands out to other roles like Pictures/Videos/Music. (I have multiple cloud providers for my music. I've got OneDrive and iCloud with different sets of photos. Etc.)

The idea is useful for other things. For instance, I sometimes have multiple folders for things like Git Repos, splitting them across drives due to file size for instance, and having a Repos library that shows me every Repo I'm working on no matter which drive it is physically stored on can be very useful.

You can also do some of that with NT Junction Points / Reparse Points, but that's even more extremely a Power User-only approach (and sometimes not recommended simply because of how many footguns are lying around there). Doing it as a virtual folder that's really just a Search View is all I really need in most cases.

The biggest trade-off is mostly that Libraries don't exist in the Command Line world, I can't CD to a Library in CMD. (If there were the right sort of Provider I should be able to CD to a Library directly in PowerShell, though sadly a quick search doesn't turn up an out of the box PowerShell provider for them; a shame.) But I can still open the Library in Explorer and select any subfolder in the Library and File > Open in PowerShell (Alt+F,R) it, and Explorer will do the work of figuring out which storage place it is in (its full path) for me.

</comment></comment></comment><comment><USER15> I wish Windows Save/Open dialogues would have links to already open Explorer windows (much like the links to Documents.)

Rationale: Project are often contained in a single root folder. I often start by opening this folder in Explorer. Some programs can be started by double clicking files. Others cannot. Saving new files always requires interacting with the save dialog and thus browsing to the project folder again.

<comment><USER4> This is something MacOS has over Windows.

Dragging a folder from Finder into the safe file dialogue opens that folder in the dialogue.

You can also drag a search result from Spotlight in to the save file dialogue.

Also works with the open file dialogue.

<comment><USER16> In Windows, you can just copy the file path from Explorer and paste it into the save file dialog.

<comment><USER4> Yep, I'm aware of that.

MacBook touchpad right under the keyboard makes drag n drop feel like a superior method.

For context, I have a fairly extensive AutoHotKey script and a 22 button Razer Naga configured to automate repetitive tasks on my Windows 10 work PC, and Windows 10 has proven itself to be super stable and robust at work and home, so I'm by no means a bias MacOS fan or whatever, and if I'm honest I really do prefer Windows 10... and my 2013 MBPr died the other day, and there's not much chance of me buying another MacBook any time soon because they're over priced and lack ports.

Where was I going with this?

Oh yeah, there's some things MacOS does that are great UI design....

</comment></comment></comment></comment><comment><USER17> Related and kind of interesting, the original File Manager was open sourced and recompiled for modern Windows.

[https://github.com/microsoft/winfile](https://github.com/microsoft/winfile)

<comment><USER18> Floating windows in floating windows, I can't believe I forgot that was ever a thing.

<comment><USER19> It's called Multiple Document Interface (MDI) and in some instances can be quite useful. MS have completely depreciated it now to the extent that MDI apps no longer render their window chrome properly since Windows 7.

<comment><USER20> FYI: deprecate [0]

[0] [https://www.dictionary.com/browse/deprecate](https://www.dictionary.com/browse/deprecate)

<comment><USER19> FYI: depreciated [0] :)

[0] [https://dictionary.cambridge.org/dictionary/english/deprecia...](https://dictionary.cambridge.org/dictionary/english/depreciated)

<comment><USER21> Yes, that's the wrong word. Please note the difference in usage.

<comment><USER19> No, I used it correctly for what I was saying. Don't put words in my mouth please.

MDI has not been removed. It's been DEPRECIATED as in it's still there and it still works (kinda) but MS no longer see value in it's function. My terminology for what I was saying was correct.

This sub-thread is a classic example of HN pedantry. Down vote me into oblivion if it makes you happy. /sigh

<comment><USER20> But deprecated doesn't mean it's "been removed". If I understand what you were originally trying to say, then deprecated is a better fitting word than depreciated because that is a financial term. Whereas deprecated is a common software term meaning exactly what you said "it's still there and it still works [...] but no longer see value in it's function".

</comment></comment></comment></comment></comment></comment></comment></comment><comment> open-source-ux _" Windows 98 was famously controversial, at least in nerd circles, for the integration of Internet Explorer into Explorer itself"_

How interesting to see attitudes change. Today, using a web browser and HTML/CSS/JavasScript to write your app (whether as a SaaS app or a desktop app using Electron) is one of the most popular options for creating apps.

In fact, Microsoft explored this space many years ago too. Remember Microsoft Money 2000? A desktop app with an interface akin closer to a web page than a traditional desktop GUI. Microsoft called it Inductive User Interface:

[https://docs.microsoft.com/en- us/windows/win32/appuistart/in...](https://docs.microsoft.com/en- us/windows/win32/appuistart/inductive-user-interface)

<comment><USER22> And then there was Active Desktop. I remember setting an HTML file as desktop wallpaper, so I could have an animated wallpaper. :)

(Why I wanted my wallpaper to visually distract me at every step is beyond me today, but I had fun.)

<comment><USER23> I was using it to read RSS, show some network info such as external IP and have a text field which could be used as a notepad. It was superseded by the arguably better designed, but more resource intensive, gadget system.

<comment><USER24> Which was then removed for...reasons. Of course. Why would you want to have little bits of software that could run on your desktop? You know, like sticky notes, a larger clock, weather that doesn't require opening more software/website...

</comment></comment></comment></comment><comment><USER25> If you had fought with the Redlof virus, your 90s were awesome! Windows 98 Explorer had a feature that allowed to customize the view by adding the `Folder.htt` and `Desktop.ini` files inside a folder. The `Folder.htt` actually allowed to run VBScript inside it.

This was exploited by a virus named `VBS.Redlof.a` and spread everywhere around the world infecting all Win98 computers. If you accidentally open a folder with the Redlof files in it, it will infect the computer, make their own copies to every other folder that your visit, writes themselves into your Floppy disks, thus spreading into other computers where those floppies are used.

This article took me back to those days!

</comment><comment><USER26> Here's a fun story: I stopped using Windows when I was 12, almost 20 years ago but Windows explorer was something I used 2000 times a day and I got so used to opening it with win+e that even till this day I set this shortcut to open Nautilus.

<comment><USER27> Muscle memory is a bitch. I'm primarily on Windows, but whenever I need to install and mess with Linux the first thing I do is find a way to make the window manager tile to half screen with "Win+arrows". Cannot live without that shortcut.

<comment><USER28> Yeah me too. I have to say that even if I love Linux and run it on all my personal machines, the keyboard shortcuts of Windows tend to be much more effective than let's say KDE or Gnome. Control+shift+N to make new folders, win + arrows to move and snap windows, Win+L to lock, etc. are quite ergonomic. As a comparison, KDE defaults to f10 to make a new folder (terrible as far to reach, and usually mapped to a multimedia key on laptops), and has no default keybindings to move windows

</comment></comment></comment><comment><USER29> This article would be even better if it showed the evolution of Mac OS's Finder through the years. The two undoubtedly influenced each other (possibly with one side being influenced more than the other).

For instance, I believe the 'duality' of Explorer views (one without tree views, one with) was a response to the success of the Mac Finder -- it was intended to present a simple UI for managing files. The "Explore" mode was a power-user interface that needed you to right-click and choose Explore, or press Win+E (or create a permanent shortcut). To be fair, because right- clicking was new in Windows 95, the help materials did emphasize right- clicking. As the article below indicates, the Win95 team did consider designing an entire 'Beginner UI' for beginner users, but eventually dropped the idea.

This article[1] (it has previously been on HN before) has some interesting insights on the design of Windows 95 with respect to Explorer. Bear in mind, one of Win95's design goals was to be usable for both those _new to computers_ as well as power users.

> Beginning users and many intermediates were confused by the two-pane view of > File Cabinet. (See Figure 3.) They were unsure of the relationship between > the panes and how to navigate between folders. Beginners were often > overwhelmed by the visual complexity of the File Cabinet and had more basic > problems, such as not understanding how folders could exist inside of other > folders. _Many users were also confused by the Parent Folder icon._ It > appeared in every folder and looked like a file, yet was really a navigation > control for moving up the hierarchy one level.

[1] [https://dl.acm.org/doi/pdf/10.1145/238386.238611](https://dl.acm.org/doi/pdf/10.1145/238386.238611)

Edit:

> [For Windows 8+, referring to the icons at the top of the toolbar] Microsoft > remains absolutely addicted to the idea of a toolbar with "commonly used" > commands on it. Despite the clear internal order to get rid of all these > toolbars, someone insisted that they had to remain, had to, and so they got > stuffed into the titlebar.

Given that Explorer took the "Ribbon" idea from Office 2007 (probably because Steven Sinofsky had a hand in both), the icons at the top of the toolbar are much more likely to be Explorer's implementation of Office's Quick Action Toolbar. In fact, looking at Office 365 UI, there seems to be a trend of bundling _more_ functionality into the Title Bar these days.

<comment><USER30> _> > Beginning users and many intermediates were confused by the two-pane view of File Cabinet_

Definitely my experience as a pre-teen. The 9x UI was much more intuitive.

 _> there seems to be a trend of bundling more functionality into the Title Bar these days. _

Yes and I find it annoying, because 1) they are so small, and 2) now you cannot intuitively know whether something on the titlebar is a button or decoration. Flat UIs suck.

<comment><USER31> For anyone looking for a Norton Commander / File Cabinet two pane interface, check out Saladin. [https://saladin.mimec.org/](https://saladin.mimec.org/)

</comment></comment></comment><comment><USER32> The author finds the My Computer/Explorer dichotomy strange, but to me the aim always felt perfectly clear. Reducing the visual clutter and mental overhead of the directory tree in the "casual user" mode, while still providing a more powerful mode for advanced users. Windows 95 also hid file extensions, as well as hidden and system files, by default. This design direction to abstract away filesystem details has, of course, continued over the years, _especially_ on mobile OSs—although recently even Apple, begrudgingly, has admitted that maybe the concept of "files" is useful even on iOS, after all.

<comment><USER12> It would have been more interesting a dichotomy if the "Folder view" was truly a spatial navigation system, which it seems like it wanted to be but never committed to.

It seems a shame that all OSes today seem to have given up on spatial navigation.

</comment></comment><comment><USER33> My pet peeve with every GUI file browser I can remember using: They all try to be smart and occasionally ignore your carefully configured view settings.

I want a massive checkbox that says "Never, _EVER_ , try to automatically determine the best viewing mode. Really. Never!"

<comment><USER4> The best viewing mode is detailed.

Everything else should be regulated out of existence.

</rant>

<comment><USER34> The best view to sort pictures !

</comment></comment></comment><comment><USER35> Ha, I remember the Windows 3.11 File Manager [0], it was always anoying when you accidentally clicked on the drive A: icon and the explorer would hang for a few seconds as the drive spun up and checked whether a disk was inserted.

[0] [https://gekk.info/articles/images/wfw311_explorer.png](https://gekk.info/articles/images/wfw311_explorer.png)

<comment><USER36> I believe it was the case in Win98SE as well, as it was my first PC OS and I remember this issue. I was always so annoyed when I miss clicked AGAIN.

</comment></comment><comment><USER37> The Windows NT4/95 Explorer was the best because I could actually configure the exact same details view everywhere and the Explorer would remember and keep my settings.

Actually respecting the user's settings is something modern Microsoft doesn't view as important anymore.

<comment><USER38> You can still do that.

</comment></comment><comment><USER39> Shameless plug: I'm currently trying a new approach to file system navigation in my new visual file manager 'cryo'

[https://cryonet.io](https://cryonet.io)

<comment><USER40> Okay I absolutely love this!

<comment><USER39> Thanks :) it's very limited yet compared to other file managers but will hopefully gain more features soon.

</comment></comment></comment><comment><USER41> It's so weird, I can't help but feel nostalgic when I see Windows XP screenshots. It seems I really like it's aesthetic. I'm quite sure it wasn't the case at the time.

<comment><USER32> Windows 95 does it for me. I still remember how _advanced_ it looked like compared to 3.1! The XP default theme on the other hand still feels like a fairly unsuccessful and in some way _infantilizing_ attempt at eyecandy. Around here at least it was commonly known as the "Teletubbies" theme.

</comment></comment><comment><USER42> I think the design that made sense stopped with Win XP. The following iterations just make less and less sense and I'm a win user since 3.1.

<comment><USER43> For me, the pinnacle of Windows Explorer UI was Windows 2000. I am such a fan of it that for the many years I was a Mac user, I wished that there was a Finder replacement that was more like Windows Explorer.

The change in Explorer I hated the most was when they switched the '+' in the tree view to disclosure triangles.

I still use Classic Explorer [1] on every Windows computer to try and get File Explorer to look like older Explorers as much as possible.

[1] [http://classicshell.net/features/#explorer](http://classicshell.net/features/#explorer)

</comment></comment><comment><USER44> From 2020/retrospect it seems obvious that people would not want to switch from local files to web-pages in the same window, but it's also kind of a shame that their integrated rich-content vision didn't work out. I would rather have a unified local machine+internet experience where local and network resources are fungible, instead of "the computer is one way to run a web browser". I guess PWAs are the next chance at something better, if they can ever get things like local file access worked out and deployed.

</comment><comment><USER45> And still no tabs. I know about Clover, QTTabbar (my current choice) and Groupy, but it still blows my mind we've had tabs in web browsers for nearly 20 years and not in local explorers.

<comment><USER12> The Sets experiment (heterogeneous tabs for nearly every Windows title bar) from the Windows team was really cool. I was sad that I was never in one of the Insider cohorts to directly test it.

It's unfortunate their testing feedback decided not to move forward with it, and that also the engineering complexities that happened because Edge switched to Chromium and would no longer be able to maintain some of the things Sets relied upon.

Rumors (er, GitHub Issues) have it PowerToys might explore the idea again some day.

</comment></comment><comment><USER46> I can highly recommend altap salamander. It's an incredibly useful two panel file manager. You can switch between detail view and a big picture preview with alt+3 and alt+5. You can select folders/files with space, and in case of folders it will also show you the total file size of that folder. It has icons for available drives in a toolbar, and you can configure the F4 key so that it opens the focused file with an editor of your choice, notepad++ in my case.

</comment><comment><USER47> Interesting thing about File Explorer is that the 20-year-old APIs for extending it still work! While File Explorer has changed between Windows versions, the underlying Win32 API seems to be the same.

A year ago I dove into shell extensions [1] to implement a drag-and-drop gesture for a file type. I wanted to create a bookmarking system for files in File Explorer based on nothing more than the bookmark being named after the file I want to bookmark (so they're next to each other when sorted from A-Z) [2]. I had not used Visual C++ before but the tutorials I found from the early 2000s, and some helpful advice from MSFT via Stackoverflow, got me through it.

There is also a simpler way to write Shell extensions using a C# wrapper if that works for your use case [3].

[1]: [https://docs.microsoft.com/en- us/windows/win32/shell/shell-e...](https://docs.microsoft.com/en- us/windows/win32/shell/shell-exts) [2]: [https://filemark.app/](https://filemark.app/) [3]: [https://github.com/dwmkerr/sharpshell](https://github.com/dwmkerr/sharpshell)

</comment><comment><USER48> Replacing the menu interface with the ribbon interface in Win10 and Office... I am not sure what the thought process was for Microsoft to have done that. Sometimes you already have something solid and it doesn't need change. I liked being able to navigate the explorer UI with the keyboard with hints provided directly in the UI. For example, Alt+T O opened the tools menu, then the Options dialog box. But now, there's no menu....

<comment><USER49> The ribbon came in MS Office 2007 as a result of user studies that showed that menus weren't effective in showing the users what was possible or what features were available in an application. That's why this new UI ("Fluent UI") was designed for better discoverability. [1]

Once you do something new and different, I suppose it's natural to copy it over everywhere else (like Windows Explorer).

[1]: [http://channel9.msdn.com/Events/MIX/MIX08/UX09](http://channel9.msdn.com/Events/MIX/MIX08/UX09)

<comment><USER50> It was very much an attempted solution to a self-made problem. Default toolbar config in Office programs had become so overwhelming that on a 1024x800 standard-issue corporate monitor you could literally see only a paragraph of text in the content area.

The true solution to that was probably deeper than clustering toolbar items by context. The very concept of a toolbar probably needed to be challenged.

<comment><USER12> > The very concept of a toolbar probably needed to be challenged.

Uh, that's exactly what the Ribbon did? It challenged the ideas of a traditional toolbar by going back to first principals far enough to the point where traditional toolbar stalwarts hate it on sight.

Half the reason we have debates about the Ribbon is precisely because it challenged the very concept of a toolbar.

</comment></comment></comment></comment><comment><USER51> To the author: stop railing about toolbars. Misguided as Microsoft is in many cases, they do have metrics for those things and people do press them. I can also add a ton of anecdotal evidence pointing that even super smart casual users don't know or use keyboard shortcuts. Even for copy paste, in many cases.

Sad from our point of view, but a lot of people have better things to do with their lives and we should stop judging them.

<comment><USER52> I like toolbars for quick, frequent-but-not-that-much actions, like exporting to a pdf in LibreOffice.

But I also like menu bars, as those give you some shortcuts if you often use a functionality. As an example, and since I type this into Firefox right now, after glancing at the menus, Alt+V,Y,N disables the page stylesheets, Alt+T,S synchronizes the account, etc.

<comment><USER53> like menubars, the toolbars give you the short cuts when you hover over them.

</comment></comment></comment><comment><USER54> I love this, find it fascinating but this isn't right:

"which is historically interesting only because it shows the direction Microsoft's product lines had shifted - suddenly NT was the line where new UI developments were being made and 9x was getting hand-me-downs."

win me was the breeding ground for things that made it into win 2003, things like sfc, msconfig etc - all the utilities went into me first and then to 2003.

</comment><comment><USER55> And the endless question is: When we have fluent design UI version of Explorer?

<comment><USER56> Treat yourself on the many takes of file explorer designs: [https://dribbble.com/tags/file_explorer](https://dribbble.com/tags/file_explorer)

</comment></comment><comment><USER57> Windows 3.1 was so beautiful. Why can't we have pretty UI anymore?

</comment><comment><USER58> I'll add my recommendation for [OneCommander]([https://mobile.twitter.com/onecommander](https://mobile.twitter.com/onecommander)) as a better alternative to File Explorer. it uses modified Miller Columns (like what you see in OSX/Finder) for file display. V3 alpha is hopefully out in a few weeks.

I still can't get the left sidebar in file explorer to scroll properly. Its speed of scroll is directly tied to the width of the sidebar.

</comment><comment><USER59> I remember my friend modified the win 3.1 startup shell and replaced progman.exe with winfile.exe. Program manager wasn't needed. You could run any program from file manager, and it also had File->Run... menu option.

<comment><USER12> The real joy was modifying the Windows 95 startup shell on upgraded machines to progman.exe or winfile.exe and really confusing users about their "Windows 95.1"

</comment></comment><comment><USER60> 35 years of development, and it still will crash my shell the moment I right click in a slow network folder! At least MS in their infinite wisdom fixed the problem by simply restarting the shell again once it crashes! Genius!

</comment><comment><USER61> For document tabs, file tags, notes, and so on, can I recommend my DocxManager ([https://docxmanager.com](https://docxmanager.com)) for "File Manager for Word documents"?

</comment><comment><USER62> As a linux user, I really wish that the Nautilus team wouldn't have changed some UI features all in recent major version changes - it makes me wish Windows Explorer from the Win 2000 area back sometimes.

<comment><USER8> I find Dolphin much better than Nautilus, it is probably the only traditional graphical file manager I have used that is better than Explorer. If you have a Gnome desktop set up it can be fiddly to integrate a KDE application with it nicely, but in my opinion it is worth it for Dolphin alone, one of the best engineered of the normal desktop Linux applications.

If you want to stick with GTK, Nemo is a fork of Nautilus just before all the features started being removed, which aims to stay more featureful like a traditional file manager. It's also a little bit more performant than Nautilus recently too I think, but both are still slow compared to eg. Thunar or Dolphin.

<comment><USER63> >It's also a little bit more performant than Nautilus recently too I think, but both are still slow compared to eg. Thunar or Dolphin.

Laughing in Midnight commander

<comment><USER52> Ranger is pretty nice to work with as far as TUIs are concerned -- bulk rename, N-split panes, tabs, image previews... it does a lot, and the default view is surprisingly usable to look for a file.

The only thing I miss with it is a "goto" shortcut, à la vim sneak. Ironically, Dolphin or Explorer go to a file when you start typing its name. Don't get me started on GNOME searching files.

<comment><USER63> Seems like ranger-autojump[0] is what you're looking for

0: [https://github.com/fdw/ranger-autojump](https://github.com/fdw/ranger- autojump)

</comment></comment></comment></comment></comment><comment><USER64> There's an interesting article about ADHD on authors website: [https://gekk.info/articles/adhd.html](https://gekk.info/articles/adhd.html)

</comment><comment><USER65> I switched from Windows to OSX 15 years ago, the only thing I miss sometimes is the Windows Explorer, though it's not perfect it's really better.

<comment><USER66> Could not agree more. Finder is a mess. Explorer just gets the job done.

</comment></comment><comment><USER67> 8.1 seems to have looked the nicest. The borders of explorer should have been transparent like the taskbar.

</comment><comment><USER68> Since Windows 95 always better than macOS Finder (using macOS myself). Copy and Paste anyone on Mac? ;)

<comment><USER53> Enter to rename gets me every time.

</comment></comment><comment><USER69> Watch me save this page to blow my mind a thousand times over.

</comment><comment><USER70> Still not as good as Thunar.

Or XTree Gold/ZTree

<comment><USER8> I like Thunar, but what particular features of Thunar are better?

<comment><USER70> For me, it's the lack of bloat. I just want to see a directory, I don't need the overhead that explorer.exe requires.

File browsing is all that's needed. What struck me as horrid in the 90s was just how much bloat there was which really pushed up the system requirements. Quite a few times I'd drop out of Windows and just do what I needed in xtree gold. Not because of a feature that it had, but because I could do it quicker. It had a hex viewer though which was nice.

I remember browsing through word docs in hex and spotting some system info that was embedded in the saved documents. Those were the days.

Thunar seems to present directories in a way that makes better use of screen space somehow, it doesn't seem to waste space quite so much. I can't really explain it very well, but it seems to get more information in less space. Feels faster too. Maybe just usablity.</comment></comment></comment>