Live data from Hacker News

The Unix-Haters Handbook (1994) [pdf]

web.mit.edu

201–210 of 316 posts

Re: The Unix-Haters Handbook (1994) [pdf]

#201
post #192
post #164

Earlier quoted context omitted.

You are assuming that: 1 - You can put them there; 2 - You have enough quota; 3- $HOME isn't mounted as noexec; 4 - IT don't have scripts that purge $HOME from executables, which the corresponding penalties for the respective user when found. I am not a UNIX newbie, although I favor Windows.

Earnest question, why your preference for Windows? From reading your other comments (and my experience) I'm guessing GUI programming and Visual Studio debugger? I do glue-programming (mostly Python) and admin. I've been at Linux shops for 10+ years and recently switched to a Windows shop. I've been trying to give it an earnest chance but can't stand it.

I know Windows since 3.0, and do GUI related coding since those days also had some friends on the Amiga demoscene, mostly with the 500 model.

I know UNIX since Xenix, and used DG/UX, Aix, HP-UX, Solaris, OS X, FreeBSD and lots of GNU/Linux distributions starting with Slackware 2.0.

After a decade of using UNIX like systems, and Windows as well, while researching everything that came out of Xerox PARC, and being an Oberon user for a short while, I came to realize that Apple and Microsoft developer cultures are closer to Xerox dreams of how computing should look like, than UNIX where X Windows is just a manager of xterms.

Also I never was a big fan of C, even back on MS-DOS days, where I would rather use Turbo Pascal or Turbo C++.

Re: The Unix-Haters Handbook (1994) [pdf]

#202
post #181
post #6

Earlier quoted context omitted.

Yeah but try and figure out how you'd do better... efficient.ly. Over the network...

Plan 9 did it in an interesting way. You draw to the screen by writing to files under /dev. On Plan 9, all file operations take place over 9P, a networked file protocol. So if you are connecting to a remote machine and want to run a graphical program, you mount your local /dev/draw files on the remote end (this is actually taken care of automatically by cpu(1)) and just run the program. Its graphical functions access…

How was it efficient?

Re: The Unix-Haters Handbook (1994) [pdf]

#203

Earlier quoted context omitted.

Here's the source code for the classic PizzaTool demo (BTW, I've just looked on Google Maps, and I think that Tony & Alba's pizza place in Mountain View no longer exists): http://donhopkins.com/home/archive/NeWS/pizzatool.txt ...and here's a link to a HN thread a few months ago where Don Hopkins talks about Postscript and windowing systems; lots of good links there: https://news.ycombinator.com/item?id=13196983

I actually worked on a project that used NeWS (actually HyperNeWS) as a front end for a Lisp based AI system written in Common Lisp. HyperNeWS could do some neat things - e.g. you could draw a shape (any shape!) in the graphical editor and paste it as the shape of a window, all without writing any code. Edit: changed "uses" to "used" - was quite a long time ago!

I really miss HyperNeWS [1], which I worked on with Arthur van Hoff at the Turing Institute, and I used it to port SimCity to NeWS on Unix [2].

Arthur van Hoff (who developed HyperNeWS and other stuff like Java [3]) and I are working together again, this time at his 360° VR video camera company, JauntVR [4]! I'm developing a secret project called HyperJaunt, that I can't say anything about yet, but you can guess by the name that I'm pretty excited about it! ;)

We are looking for a lead software engineer with leadership experience in Amsterdam! [5]

[1] http://www.art.net/~hopkins/Don/hyperlook/

[2] http://www.art.net/~hopkins/Don/hyperlook/HyperLook-SimCity....

[3] https://www.linkedin.com/in/aavanhoff

[4] https://www.jauntvr.com/technology/

[5] https://www.jauntvr.com/careers/apply/?gh_jid=251962

LEAD SOFTWARE ENGINEER, AMSTERDAM, NETHERLANDS.

The Role: This is a highly challenging and highly technical role offering the chance to define the early days of a new industry. Candidate would have to know or be willing to learn mobile 3D graphics programming (OpenGL/GLSL/Unity) with focus on interactivity, network optimization and performance tuning. Candidate should have strong leadership skills. While we are looking for prior experience as a good indicator of future success, our main criteria includes passion for VR, intelligence, creativity and strong work ethics.

Re: The Unix-Haters Handbook (1994) [pdf]

#204
post #183

Earlier quoted context omitted.

Very interesting, thanks. Why do you suppose Lisp-M isn't more widely used?

Lisp machines were expensive, the early ones at least took a very long time to boot, and I think there are weaknesses to the Lisp "image"/"world"/whatever model that Lisp-M partisans aren't quite willing to acknowledge. They're still extraordinarily cool machines.

> very long time to boot

Actually a typical Symbolics 3600 didn't boot much longer than a SUN... my NXP1000 Lisp Machine boots in three minutes from a very large image.

Re: The Unix-Haters Handbook (1994) [pdf]

#205
post #182

Earlier quoted context omitted.

> Objective-C looks like a clusterfuck and I never want to touch it. This is pretty much moot now, the Apple world is abandoning Obj-C, but AFAIK it's just old, not bad. Like, came out at the same time as C++ old, and has seen fewer changes to the language than C++ has. It's a compiled, C-like language, so yeah, hard to use and very easy to crash, just like C & C++. Interested to hear your point of view on what makes…

I remember trying to do the "construct a function name as a string and call it" thing in VB6 many years ago before I "knew better". Any idea what that functionality is called? I always wondered why languages wouldn't let you do that.

You usually get that through either reflection or an "eval" command.

Re: The Unix-Haters Handbook (1994) [pdf]

#206
post #187

Earlier quoted context omitted.

Bluh, don't get me started on Finder. Icons in directories would randomly be overlapping just because I hadn't been in them in a while and new files were added, they added this weird tagging system with colors that just doesn't make sense to me at all, it randomly thinks I want to view some sort of "recently used files and some random shit" list instead of my homedir. I don't know what the devs of it were thinking. E…

The finder is a wart. Apple does have a lot of good UI elsewhere, but the finder needs an overhaul so bad it hurts. Know what drives me the most nuts? That there's a single default key (Enter) to rename a folder, while you have to use a key chord (Command-O) to enter a folder. It's so backwards, renaming is not something I spend even remotely as much time doing as moving around. That's not to mention the so completel…

What's ridiculously annoying is how good the Finder was under classic Mac OS compared to what exists now. The new Finder is a bad translation of some of the classic functionality overtop of the NeXT workspace manager. And it's a bad fusion of the two, in my opinion.

Re: The Unix-Haters Handbook (1994) [pdf]

#207

Earlier quoted context omitted.

Very interesting, thanks. Why do you suppose Lisp-M isn't more widely used?

They were expensive. Sun workstations that cost five figures were cheap compared to LispMs. Their UI was powerful and efficient, but not easy to learn. They were designed by programmers for programmers. Their UI assumed that you were willing to invest nontrivial time and effort learning a broad palette of specialized tools. Their system design made some pretty different assumptions about how they were going to be use…

If you would have wanted a comparable Lisp experience on a SUN workstation (large bitmap screen, large disk, software, ...) the actual price difference wasn't that much. But there were a lot of underpowered and slow SUNS, which were cheaper. But then you would better not use Allegro CL, Lucid CL or LispWorks on those. 16 or even 24 MB RAM were simply not enough and GC was fighting with the virtual memory pager...

The big cost driver at that time was memory and peripherals like disks.

The lab I worked for had slow SUN SPARCs. The idea was that you would net boot them and they would get their software from a main server. Relatively cheap. But it turned out a bit slow and clunky. People then often used their office Macs for software development, with Macintosh Common Lisp.

Re: The Unix-Haters Handbook (1994) [pdf]

#208

Earlier quoted context omitted.

Very interesting, thanks. Why do you suppose Lisp-M isn't more widely used?

They were expensive. Sun workstations that cost five figures were cheap compared to LispMs. Their UI was powerful and efficient, but not easy to learn. They were designed by programmers for programmers. Their UI assumed that you were willing to invest nontrivial time and effort learning a broad palette of specialized tools. Their system design made some pretty different assumptions about how they were going to be use…

There is a price list for Lisp machines in this archived Symbolics presentation made in 1986, page 14: http://bitsavers.informatik.uni-stuttgart.de/pdf/symbolics/h...

Re: The Unix-Haters Handbook (1994) [pdf]

#209
post #182

Earlier quoted context omitted.

> Objective-C looks like a clusterfuck and I never want to touch it. This is pretty much moot now, the Apple world is abandoning Obj-C, but AFAIK it's just old, not bad. Like, came out at the same time as C++ old, and has seen fewer changes to the language than C++ has. It's a compiled, C-like language, so yeah, hard to use and very easy to crash, just like C & C++. Interested to hear your point of view on what makes…

I remember trying to do the "construct a function name as a string and call it" thing in VB6 many years ago before I "knew better". Any idea what that functionality is called? I always wondered why languages wouldn't let you do that.

I don't think there's another widely used name for it except dynamic or virtual dispatching (with inline caching of the lookup table). C is too low level and simple a language to have it in the string lookup form and in C++/Rust name mangling, symbol stripping from binaries, and generics would make the feature very difficult to implement and rather unergonomic. C#/F# and CLR C++/VB probably already have this in the form of the reflection/.Net runtime APIs (including JIT for generics) but implementing it in C++ or Rust would be very complex and it would be yet another feature that bifurcates the language ecosystem (like heap allocation for embedded). Python and Javascript do have this feature but you still have to have access to the scope to do it (self['fn_name'] or this['fn_name']) and this implementation exists in one way or another in most dynamic languages.

You can do this as a hack in most compiled languages by exporting symbols from a shared library and just using the OS specific dynamic linker but this is ugly, slow, and pointless in a static language.

Re: The Unix-Haters Handbook (1994) [pdf]

#210

Unix is weird because it evolved organically and without a unified direction. But it remains because power and familiarity beat user experience. Yes, the "pure" Unix tools are awful, GNU improved on their usability a lot. But they're still a simple command that does something. Except Autotools. Those should burn in eternal damnation.

The thing is that it does have (or rather can be made to have) a good user experience for experienced users. The problem is the learning curve, and to a lesser extent, compatibility. MacOS is easy enough for non-techies to use while still having fast alt-tab, readline shortcuts in almost all apps (OS level I believe), and it's unixy-enough that we get things like homebrew while also getting things like Photoshop as others have mentioned.

Windows is OK for non-techies (being generous but there aren't that many real choices if you're e.g. Buying a computer from a store and don't know how to install an OS) but you really need a VM to do some types of work (though the Ubuntu subsystem is pretty awesome and now we have mobaxterm instead of just cmd.exe and putty).

Linux is fine for techies / power users but requires customization to get to the productivity levels that Mac gets to (IMO). Non-techies wouldn't be able to achieve the same thing or probably even install it in the first place.

You can buy a Mac in a box from a store and pay someone at the store to help you if it breaks or you don't understand how to do something. You can develop iOS apps on it. It also looks cool to people who don't know any better and people who do. Daft Punk and almost every other musician who works with computers on a stage uses Mac.

They all have their place and I run all 3 at home (Win desktop for gaming and some browsing, Linux laptop for personal programming and browsing + travel, Linux desktop for my home electronics lab bench mostly for embedded development, Mac laptop for work, FreeBSD for a NAS, MIPS Debian for router)

Post reply on HN