News for hackers. Stuff that matters.
Re:Why Create a New Unix Shell? by Insanity on Wednesday January 31, 2018 @06:02PM (#16278361)
yeah I can actually imagine that. like using an IDE based on the language it was written in to extend and tweak it more easily, or a window manager etc..

actually now you mentioned it, barring possible performance issues I'd also like a Python distro

Re:Why Create a New Unix Shell? by throwaway7645 on Wednesday January 31, 2018 @07:18PM (#16278777)
Early Smalltalk and Lisp systems were those langs all the way down. Using emacs with Common Lisp or using Pharo Smalltalk can give you a feel for this, but not exactly the same thing as a Symbolics lisp machine or the Xerox Alto. Alan Kay has a presentation where he shows the entire OS, word processor, networking stuff, IDE, paint programs...etc was an insanely small amount of code and everything was user configurable. I really wish that had caught on more. I really enjoy Linux (although it ain't perfect). Using Windows and trying to interactively do anything with the OS is an exercise in pain and frustration. If someone could build a modern machine with an OS that is like that and had a few basic apps (web browser...etc), I would be quite happy.
Re:Why Create a New Unix Shell? by terminalcommand on Thursday February 01, 2018 @12:17AM (#16279767)
I don't know if it's just me, but I don't feel like I'm using a computer when using Windows. After using OpenBSD exclusively for weeks (my laptop broke, so I had to repurpose an old netbook with OpenBSD), I felt bored and limited in Windows. I tried Powershell, but -mostly because I don't know much about it- it didn't give the same feeling.

The thing that is working for me is to explore VB.net . It is really an interesting language with many historical features. I've noticed that all the languages I use (Python, C#, Java, Go, etc.) distracted me from the essence of programming. When I started programming I immidiately thought about patterns, architecture, unit-tests, integration-test etc.

In VB.net I feel like I'm slowly reexperiencing the joy I've felt in my earlier days of programming.

Re:Why Create a New Unix Shell? by sjellis on Thursday February 01, 2018 @02:00AM (#16280090)
"In VB.net I feel like I'm slowly reexperiencing the joy I've felt in my earlier days of programming."

Ruby was the first language that I experienced that got out of the way, so I felt like I could think about what I was trying to achieve, rather being distracted by house-keeping. Of the other languages that I've tried, I've only gotten close to the same feeling with JavaScript, Go and Python.

I suspect that a lot of it is to do with your own mind-set at the time: I first learned Python as an applications language, with all of the add-on tools and baggage, and didn't like it much, but recently I wrote a one-file, no-dependency thing to do exactly one job in Python, using just the standard library, and it was a joy.

The difference was, I think, that I did not feel the internal pressure to meet best practices, and could just write the code. For some languages, the stuff that you are supposed to do and the tools that you are supposed to use are a heavy burden.

Re:Why Create a New Unix Shell? by chaotic_clanger on Thursday February 01, 2018 @01:02AM (#16279889)
you can turn windows into an adult computer by using cygwin (maybe mingw), autohotkey and something like window manager.

the illusion is almost real, because sometimes i also run linux in vmware/docker/... and when i am not paying attention i forget easily which os i am on.

the unix subsystem for win is quite boring as you can't mix windows applications with linux ones, for example running visual studio build from bash.

powershell would be probably worth learning, if i'd have to, but i do not. it may be godsend to win sysadmins though, as classic cmd is a 40 year old joke.

Re:Why Create a New Unix Shell? by cube2222 on Thursday February 01, 2018 @05:21AM (#16280752)
You can run windows programs out of bash (I mean the wsl bash), and you can also create wrapper bat files to use Linux tools/programs from Windows.
Re:Why Create a New Unix Shell? by throwaway7645 on Thursday February 01, 2018 @12:03PM (#16283472)
True, but it's a hack...not something fluid/elegant/seamless or efficient. I'm not a software engineer. I'm just a traditional engineer that wants an OS written for a power user that allows me to do my job more efficiently. Dealing with a multitude of wrappers is worth it if you're writing production software of course, but not if you write a lot of one off scripts for day to day work.
Re:Why Create a New Unix Shell? by chaotic_clanger on Thursday February 01, 2018 @06:18AM (#16281031)
i see ( https://docs.microsoft.com/en-us/windows/wsl/interop )

that was not possible when i tried it, thanks for pointing it out

Re:Why Create a New Unix Shell? by throwaway7645 on Thursday February 01, 2018 @11:54AM (#16283380)
I've stated on here numerous times that Powershell falls short because pipes aren't text based as in Unix, but are really more like method chaining in .NET. Most of the time I have the output of one command, but can't easily reason about passing it to the next command.
Re:Why Create a New Unix Shell? by scroot on Thursday February 01, 2018 @09:10AM (#16281918)
I feel you. This guy is working on an interesting project called the Reform laptop [1]. You might have seen this already. He will eventually have it run his own lisp (called "Interim") all the way down.

[1] http://mntmn.com/reform/

Re:Why Create a New Unix Shell? by throwaway7645 on Thursday February 01, 2018 @03:16PM (#16285450)
Sounds neat, I'll check this out.
Re:Why Create a New Unix Shell? by rollcat on Wednesday January 31, 2018 @06:27PM (#16278511)
> an IDE based on the language it was written in

I recommend Emacs. Maybe not as a daily driver (it's a matter of preference), but for the experience. I recommend at least a month with it, make sure to write some original Lisp code for your customisations. (You WILL end up customizing it, the defaults are crap.)

> or a window manager

I recommend Awesome. The core is in C, but that's basically the low-level stuff, the actual WM is written in Lua. If you'd start with an empty init file, you'd have a moderately sized side-project on your hands to put something usable together. But if you'd start from the stock rc, there's a world of endless tweaking and customisation waiting for you...

Watch out, both Emacs and Awesome are rabbit holes.

Re:Why Create a New Unix Shell? by sedachv on Wednesday January 31, 2018 @08:49PM (#16279168)
> the defaults are crap

As someone who has recently joined the 1k LOC Emacs configuration file club, I have to disagree. The default settings are a well thought out starting point that needs minimal tweaking to get to exactly where you want. I try out a lot of packages on ELPA, and many that purport to provide alternatives for defaults end up being inferior to using the defaults with some small tweaks. The convenient thing is that you can customize the third-party packages in the same way and just use the parts you like from them.

The other good thing about Emacs is that you don't need a separate window manager[1], and you don't need to use a separate command shell (Emacs comes with eshell), or to use a terminal emulator for SSHing into remote machines (eshell over TRAMP is absolutely amazing), or a file manager (Emacs comes with dired, which works over TRAMP which is amazing), or a...

[1] https://github.com/ch11ng/exwm

Re:Why Create a New Unix Shell? by lorenzhs on Thursday February 01, 2018 @09:05AM (#16281889)
My favourite Emacs goodie to highlight is magit because it really changed the way I use git. All of a sudden, it's incredibly simple to (un-)stage individual hunks, etc. And of course it works over TRAMP, too :)

org-mode is a good one, too, but I feel like I've barely scratched the surface there.

Re:Why Create a New Unix Shell? by sedachv on Thursday February 01, 2018 @04:42PM (#16286202)
The hunk feature of magit is great; you can easily stage/unstage not only at the hunk granularity but also arbitrary lines using the selection. Being able to easily do that was something I really missed when I moved from darcs to git.

When it comes to magit and TRAMP, definitely the best part is with-editor[1]. This is one of those ingenious "why didn't I think of this?" hacks to let you use your local Emacs as EDITOR on remote machines without having to do SSH port forwarding for emacsclient.

[1] https://github.com/magit/with-editor

Re:Why Create a New Unix Shell? by Scarbutt on Wednesday January 31, 2018 @10:08PM (#16279402)
eshell over TRAMP? how does that work?
Re:Why Create a New Unix Shell? by sedachv on Thursday February 01, 2018 @03:52AM (#16280446)
Any pathname in eshell can be a TRAMP pathname on a remote machine. So you just cd to a remote directory and eshell will run commands on the remote machine. You can redirect remote command output to a local file, local command output to a remote file, cp from remote pathname on machine A to remote pathname on machine B, etc.
Re:Why Create a New Unix Shell? by fpoling on Thursday February 01, 2018 @03:47AM (#16280433)
At some point I realized that I wasted months in those rabbit holes customizing and tweaking shell configs, window managers and Emacs. Any gain in productivity (which may not even be there as it is rather subjective) was not able to offset it. So I stopped it. These days I just use Gnome Shell with a single extension to fix something that I cannot get used at all, simple bash config to setup environment for development with no customization on shell behavior, and a programming editor that mostly matches my taste. On a new machine I can finish all customization within 5 minutes and forget about it.

I even started to suspect that an easy customization of a tool can be a bad sign. It is almost like developers delegates all usability issues to the end user making the default case really bad.

Re:Why Create a New Unix Shell? by rollcat on Thursday February 01, 2018 @01:59PM (#16284651)
Re:Why Create a New Unix Shell? by kqr on Wednesday January 31, 2018 @07:43PM (#16278890)
Wait, what? You recommend Emacs but not StumpWM?

I've used -- for longer periods of time, of course -- Awesome, Xmonad, i3, and dwm; while some of them are better at some things than StumpWM, StumpWM is the only one that provides an Emacs, live-hackable experience. So these days, I strongly prefer that.

Re:Why Create a New Unix Shell? by racer-v on Wednesday January 31, 2018 @08:43PM (#16279136)
I've been hearing about Emacs X Window Manager but haven't given it a shot yet https://github.com/ch11ng/exwm
Re:Why Create a New Unix Shell? by whyever on Thursday February 01, 2018 @02:34AM (#16280200)
IIRC, Python performance is better than than bash.
Re:Why Create a New Unix Shell? by solarkraft on Thursday February 01, 2018 @05:06AM (#16280680)
Not in my tests involving repeated invocation of binaries, iirc.