I don't have to use plan9 to secure the benefit of exploring models of software, systems, networks which plan9 explored.
I think that you have to swim very strongly across some currents, to decide to "be" in plan9, but its no different in that sense to choosing to live behind a Nokia brick phone, or only using pen and paper in meetings. Others may work effectively in their kanban on a laptop, but the decision to stop using the parts of your brain which type, and instead use the parts of your brain which shape semantic intent, by writing, is quite large.
And in that sense, deciding to use plan9, or even just a tiling window manager, or to disable image load in web by default, or to use Markdown or Org mode to do thing instead of reaching for some packaged electron app, or to focus on GO or Haskell or whatever the thing is, which forces you to think about what you are doing in code, That decision may be swimming against the stream, but its big.
Plan9 is big. Its not for everyone, and I decided not to invest because it had moving parts I didn't feel confident I understood and at the time I looked at it, was wedded to multiple independent instances of boxes I didn't own.
Now, it is probably entirely possible inside containers or VMs or something, but I am content to know I could.
(I am however, using pen and paper more in meetings)
If I'm taking notes and they come out like chicken scratch it means I'm usually too agitated and just rushing. Even just writing slower doesn't help. You basically have to actively relax yourself, breathe in/out, and collected yourself.
For instance, I enjoyed being a janitor for my Arch Linux install for a while - it taught me a lot - but eventually I switched to MacOS because I actually wanted to ignore my OS and focus on the code I was writing and connecting to WiFi reliably.
If you are putting your time into something, it makes some sense for it to be something you value.
I feel this. I was a distro-hopper for years. I eventually settled on just using Ubuntu LTS for ease but definitely benefited from the time I spent nurturing my arch laptop.
However, still very annoying having to rearrange meetings because you did an upgrade and some X11 config needed to change and so you can't even boot a GUI for a bit.
Bell happened to be one of those companies. You could walk into another door in Bell (or AT&T) and drive to a room much less tolerant of swimming against the stream.
Both the good outcomes and the bad outcomes. Cue the recent Slack WYSIWYG editor woes.
Slack used to have an IRC gateway, allowing anybody to peruse it from any OS, on any device, with any UX. The Slack corp. chose to supply UI for one popular platform (Electron), and cut off any other means of access. This single platform focus did put Slack in full control of the UI and UX of the messenger, and able to force the WYSIWYG editor on all users.
Without the overwhelming dominance of one platform (Electron), Slack most probably would feel the need to maintain the fully featured IRC gateway, letting people interface with it fully via alternative means.
 the APIs are un(der?)documented, changing, and you are on your own
1. Is it FOSS?
2. Can I use it in Weechat?
That's really all that matters to me. I currently use Weechat to handle IRC and Matrix.org.
I've had to use Slack in an internship in the past. Thanks for mentioning wee-slack; I'll keep an eye on it should I be subjected to a proprietary IM service again.
I can see people giving in just to get rid of that kind of continuous low key harassment.
That's not to say that you need everyone to be a mindless drone, but just like reinforcement learning works best with a healthy balance (usually like 90/10) of exploitation and exploration, society works best when a few people explore new options and the majority follows the emergent consensus.
Per most of the reading I've done on "Why software development time planning is so difficult", the problem lies with bounding uncertainty.
We're pretty good at estimating business as usual, but much less so at producing a number when "there are 3 items, each of which has a ~10% chance of adding 10x happy path time" holds. Or even identifying it might hold!
That someone has already found a way to thread the minefield, or dealt with any unavoidable mines, is valuable.
I want tools before I want services
I want an agent that has access to my digital life where ever that is. I want that agent to be the expression of my tools - that is my first and possibly only service
I want my mobile device to keep and give me access to my digital footprint - my phone calls, text, gps locations.
I want a message in Whatsapp and in facebook and in email to just be a message. if that breaks someone's business model I do t care.
I want to be able to review my digital actions - what was the name of the video I stupidly watched at 1am last night - let me review that each week so I can improve my behaviour - not have my behaviour controlled
I want this for each member of my family too
> I want to be able to review my digital actions - what was the name of the video I stupidly watched at 1am last night - let me review that each week so I can improve my behaviour - not have my behaviour controlled
It's almost 2020. Forget the flying car, why does my web browser still not provide full text history search if I want it? It's text, and this isn't the 1980s! Why can't it snapshot the textual portion of the DOM for each page I visit if that's what I want? Half terabyte SSDs with 700 MB/s sustained write are $80!
Then it started to deprecate the useful part, gain a GUI, and morph into a second-rate widget engine. By the last couple of versions I came across it was a mostly useless, very second rate copy of Konfabulator (later Yahoo Widgets). It no longer had any local document and web indexing.
Another seriously nifty thing it would do if you allowed it to was to collect rss feeds from sites you visited and magically sift out stuff it knew I would be interested in.
With a bit of thought, the later versions did retain some local search, but made it clunky and awkward. I forget quite how, only that I liked it less and less. Course before too long it was discontinued entirely. Odd really as it, to me, is the obvious use of my computer for my web activity...
Here's the original press release and a couple of screen shots: http://googlepress.blogspot.com/2004/10/google-announces-des...
For the local filesystems full-text almost instantaneous search, definitely check Recoll: http://www.lesbonscomptes.com/recoll/index.html
Recoll will index an MS-Word document stored as an attachment to an e-mail message inside a Thunderbird folder archived in a Zip file (and more...). It will also help you search for it with a friendly and powerful interface, and let you open a copy of a PDF at the right page with two clicks. There is little that will remain hidden on your disk.
I like how it can perform full-text search in my documents (pdf, etc). It also searches your e-mails if you use Kmail (and contacts, events, etc if you use other KDE PIM tools).
I only wish it was a bit less eager to extract files on underpowered laptops, and it would be nice if it could OCR pdfs and tag images (facial recognition, etc).
And the average person has already moved far more of their life to "the cloud" to free themselves of the burden of local system administration.
Full-Text Search your Web History & Bookmarks
I have to admit that I don't use it much (I've got it mostly hidden, there are several tweaks related to visibility), but it is amazing, as you put it, that someone finally did it, and got it mostly right!
The GPL doesn't prevent forks, it doesn't even prevent someone else profiting off the fork, it just requires that the fork can also be shared freely.
Maybe I just need to suck it up and roll my own.
* no truly useful self-hosted browser (when you can’t even log on to your home router to troubleshoot things, an always-on console is useless)
* mouse chording (I understand the history of it, but it was a constant pain)
I would have loved to (for instance) hack my Chromebook into running Plan 9 natively, but being fundamentally unable to use it without an external mouse made it impossible. And no, key combos are not the answer here.
Another thing I played around with was running Inferno on the Pi (I have a bunch of resources for both listed on https://taoofmac.com/space/os/Plan9), and that was a lot of fun (for the low-level stuff).
Now for the controversial bit:
Porting a full browser to Plan9 is not likely to ever happen, but I do wish the community would make an attempt at modernizing it ever so slightly rather than assuming it’s perfect (I’m on the 9fans mailing-list, and it is a fascinating cross-sample of hard-boiled traditionalists and almost ascetic pragmatists)
For those unable to switch outright, I wholeheartedly recommend plan9port - an almost complete set of utilities and protocols from Plan 9, ported to run in Linux, MacOS X, and OpenBSD userspace. It's being actively developed by the 9fans community.
plan9port comes with both sam and acme programmers' text editors.
What are the efforts like for non x86 architectures, if any exist?
Are there working kernels for arm as there is for *nix with things like Raspberry Pi?
I haven't started my IoT journey yet. I am wondering if plan9 would be stable enough to tinker with in that space and in order to capture two birds with one trap.
[edits made to cleaned up the original mess]
Sadly I can't help you more - best ask on mailing lists or on IRC.
Historically Plan 9 was developed from grounds up to support several architectures, so in this case you're really asking about drivers for specific peripherals.
 http://mail.9fans.net/listinfo/9fans and http://lists.9front.org/
 #plan9 and #9front and #cat-v on irc.freenode.org
#cat-v on OFTC is very helpful if you want to try it out.
Some people look for the most exotic art. Some people seek the most unusual foods. Some people want to know exactly what's out there in the universe (enough for humanity to keep chucking probes into deep space, no less). And, some people want to use their computer in a new way. Some of those people even end up deriving practical value from the exercise, but I would hesitate to claim that that's the reason we do it:)
Some people eat aeroplanes. He uses Plan9.
It is the same reason people write programs using lambda calculus or make fundamental physics research instead of engineering. We even get something useful from it from time to time, but that is just a very nice side effect. Or, as Feynman put it: "it's like sex, it may give some practical results, but that is not why we do it".
> We don't read and write poetry because it's cute. We read and write poetry because we are members of the human race. And the human race is filled with passion. And medicine, law, business, engineering, these are noble pursuits and necessary to sustain life. But poetry, beauty, romance, love, these are what we stay alive
From the movie Dead Poets' Society. Emphasis mine.
When did wanting to just have fun become shameful?
There's a few BSDs that have 'multimedia and the modern web'
"Defiled OS". That might be a fun adventure on FOSS trolling.
(this is where I'd put some sort of Windows Vista joke)
That said, once you've played around with Plan 9's filesystem ideas, they are IMHO clearly and inarguably correct, and should be adopted.
I don't think that's really true. You can't do the sort of things with namespaces and filesystems that one can do on Plan 9 in e.g. Linux.
If you want to live in the future, you can't use programs written in the past. There are many fine GUI text editors: leafpad is your basic bare-bones notepad-alike, and for my money Kate is the best 'notepad++' mega-text-editor that's still light enough to start instantly.
I'm sorry, but this is plain wrong.
gpm  supplies a mouse server for the console, and has been around for a very long time (the oldest release I could find was 1995). SSH, nano, vim and more all understand the events driven by it. This should even work under a raw tty, rather than a terminal emulator, in any shell, from ash to zsh.
The terminal absolutely understands the mouse, you just need to enable the bridge that lets it all work.
And when the user selected text using GPM, the program (e.g., nano) never learned of it: it was local to GPM and the linux console.
The man page you linked states, "The selection mechanism is disabled if the controlling virtual console is placed in graphics mode, for example when running X11, and is re-enabled when text mode is resumed," (then goes on the describe how sometimes it does not get re-enabled because of a bug).
Can a modern PC even be put into text mode anymore? (Honest question: I do not know.)
Have you ever gotten GPM to work with X11 or Wayland?
If you enable mouse support. (set mouse for nano and set mouse=a in vim).
> Have you ever gotten GPM to work with X11 or Wayland?
That'd be rather... Pointless. X11 and Wayland already allow the mouse to work without GPM. Just enable the mouse in nano, vim or whatever, and it'll work.
So for example, the user cannot use the mouse to move the insertion point in nano.
That is not the case if you enable mouse support, as I've said.
Try it. Add:
Open a file, and click. The insertion point will move.
No, that exists for a long time and is widely implemented among terminal software. Demo: https://github.com/tinmarino/mouse_xterm
It effectively is Notepad, as far as I'm concerned.
For those who aren't touch typists, or occasional users, nano is just more comfort than vim or emacs.
And there is a editor named `micro`, which is similar to nano but has more features including bracket completion etc.. I am delaying switch because it is written in go (being unavailable in repos) and anyway I haven't found time to configure it. But it is scriptable in lua..
I can see this being okayish when logging into a dev EC2 instance or something ephemeral but it's not something I would ever want to do on something important.
And yes, it uses mouse-based select/cut/copy/paste, with line- and block- level operations.
Basically on those systems you can expose code as UI callable operations, select code and give it to them.
I use a Macbook as my keyboard/trackpad combo, so my “mouse” is actually extremely close to the keyboard, and I don’t have to move my hand much.
Learn those cursor movement keys combos and you'll find it ends up being way faster to get to the middle of your line to drop your ctrl-v that way once you're used to it.
Not that I mean to rag on you in a superior way like so many keyboard-only primadonnas like to. You do you, and I understand that for a lot of people the investment in learning this non-critical stuff just isn't worth the time.
Bit of a deal-breaker for me, personally.
Oauth/oauth2 are sort of a web equivalent but not really, first because they are web, and 2nd because they aren’t useful for things like pop3 in the same way that factotum is.
(And it would be really great if factotum would list permissions for apps that would support that thing, but... you can’t win them all)
The dealbreaker for the vast majority of users still remains then. If I recall correctly though when I tested it some time ago there was a software making possible to run Linux binaries and it could be used to run Opera. Isn't this possible anymore?
That could change in the near future.
You have to think about 9p as an RPC protocol with files representing objects within the file server program. Reading/writing those files is how you interact with said objects. And it doesn't have to be text, it can be binary. Though text is used when a human has to interact with something. This is why you can do a lot of neat tricks using just a shell script as you can directly interact with a program using a standardized interface. No other operating system can claim such a high level of homogeneity.
As a hypothetical example, take the game Doom. We modify it to serve a file system to expose all of the players stats as a file tree. So a file called health is an rpc call to read and write the players health. This means you can '% echo 100 >/n/doom/player/health' to set your health to 100. It also means you eliminated the need to reinvent the wheel and integrate a console shell in the game. This saves the programmer invaluable time and eliminates duplicate code. Now we can use shell scripts or helper programs to interact with the game. And they can be in any language as all they have to do is open(/path/to/file) and read() write(). Imagine how much code you can eliminate and how much flexibility you gain by exposing your programs innards in such a standard manner? At this point, you might be thinking "So, if it's a file server, does that mean I can export it to the network?" Yes. You can have another computer mount that doom file server and interact with it.
You can also export your USB controller or other hardware using the same method. The level of flexibility is intoxicating and I don't care if it doesn't play youtube (that's what archaic and primitive 70's os's running in vmx(3) are for :-).
Modern plan 9 and resources:
http://9front.org/ (highly active community and recommended if you pan to investigate)
http://ants.9gridchan.org/ (pop on the grid and say hello! also recommended)
Legacy and Labs stuff (some activity still):
http://9legacy.org/ (labs 9 and patches)
http://9p.io/ (labs mirror, needs updating)
I think there's an opportunity for a big player in the dev tools space to create a mainstream visual programming language and associated tooling. Many are trying, like Luna (https://github.com/luna/luna-studio) and Dark (https://darklang.com/) but I'm worried they're not established enough to gain traction.
Unfortunately programming with a text editor has become so mainstream that investing time in learning potentially better tools nets a lot of friction and not to much gain.
I don’t think we really view a file of source code as a linear page of text though, right? It’s a tree. Sibling nodes are often laid out either horizontally or vertically, and children are often wrapped in some type of brace and/or indented, maybe delimited.
I think the fact that editors usually a) align the textual boundaries of tree nodes, and b) allow syntactically/semantically-invalid states, sometimes gets people thinking about editing a character stream instead of a semantic tree.
Having used node-based programming environments extensively (Max, Reaktor) I am not convinced that that there is a ergonomically sound alternative to just writing the code in linear text files, but admit that there are probably domains where it is more suitable. I found it tedious and straining, particularly when you have to use both mouse and keyboard.
Everybody thinks they want that until they try it on a real non-toy problem.
While on text based languages, lack of modularity is kind of hidden and only jumps at you when you try to actually change anything, on visual languages it jumps right at you when you open a project.
Ideally, anything that requires panning or zooming, should be packed into their own little reusable building block, instead many try to package as much as they can into a single screen.
I've worked on some projects using Node RED (https://nodered.org/) and have found this to be very true. It's painfully obvious that you're in for a fun ride when the code is literally spaghetti.
I think programmers should be trusted to write code as text, but the IDE should in some way help visualise how data flows through the system.
Intentional programming seems interesting. Reminds me a little of BDD frameworks like Cucumber (https://cucumber.io/docs)
What stood out to me was the instant feedback that's provided when the pipeline was modified; you can immediately see the ramifications of your actions.
I'll agree that graphical languages don't seem to have caught on for general purpose programming, but some reasonably powerful ones certainly exist at this point.
Speculating as to why, I admit I have no intention of picking up a graphical language for my next project. Partly it's familiarity (I don't know what I'm missing), partly it's learning curve (expending effort when my current tools already work), and there's definitely concern about the ecosystem (manually writing bindings is never fun). There are also existing tools whose functionality overlaps to some extent - I've seen (and briefly played with) tools for some languages that will create flow diagrams from your source code. It seems like graphic-centric languages exist, but only gain widespread adoption for specific tasks that are frustrating or tedious to address without them.
(Now, that was long enough ago that I forget most of my specific opinions, and many of them are probably now outdated.)
> I've seen (and briefly played with) tools for some languages that will create flow diagrams from your source code.
Could you share what those tools were?
JetBrains also provides a few diagramming plugins, but I've never used them.
I haven't yet come across tooling that does the same for C, C++, or D. This response inspired me to take a look though, and I did find something for Python (https://stackoverflow.com/questions/45238329). Thinking about it, the instrumentation approach taken there might actually work fairly well for most systems languages assuming you don't have any dead (or rarely called) code. Graphviz could be combined with the "-finstrument-functions" GCC flag and a few supporting data structures. Templated code would be tricky to deal with though.
Edit: Just came across CppDepend (https://www.cppdepend.com/). It's proprietary, but appears to be incredibly powerful at first glance. See its dependency analysis in particular (https://www.cppdepend.com/dependenciesview).
IDEs are the continuation of those models.
Spreadsheets would be much more maintainable if people separated data from the view.
Because of this the whole system is introspectable via cating interesting files.
> Error code: MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT
It's available via this HTTPS mirror if needed: https://archive.is/bVfPc
The people who did plan9 did not do this, to support other people. It was a self-supporting community. If that imposes barriers which make it hard for others, its not elitism in the sense I understand it, because the barrier is functional not based on any other entry score, such as 'who you know' or 'what school you went to' -You just have to make a matching investment, to their investment.
I have a lot of respect for these people. I have never interacted directly with them beyond the tokenistic, despite my obscurity no mail of substance I have sent to them in times past was ignored, and if the answer didn't satisfy it was usually because I (like you) assumed they had acquired obligations and burdens facing me, regarding this code.
They're not looking for happiness in your use of this code, or your non-use of this code. They're looking for higher functional outcomes from things proved in this code which now filter out in other ways.
1. To keep normal people out
2. Because their "gods" (Richie, Pike, Kernighan, ...) can't ever be wrong. Claiming otherwise would be heresy.
They get cranky with time-wasters. Its not a lifestyle.
Pike's forays into markov-chain fake identities writing in USENET is not perhaps his most shining moment. Its a student prank. He's notorious (by gossip mainly) as being cranky at the accolytes and the adulation. He is said to dislike it. He also is said to dislike people assuming they can debate "the big man" and do a take-down. I am sure Thompson and Ritchie got a shitload of this: I know in fact, because when I chaired a UUG meeting (AUUG) and they were invited guests, they had "minders" in the local Version-8 community who kept people at bay who were being tiresome at the conference socials. Rock stars get this. Its unavoidable.
I don't want to imply any special insight. None of them know me, or would give me the time of day absent some specific reason to engage, and thats fine and normal too. Why should they?
Unlike many others, they made choices which did not lead to them vesting billions and billions of dollars. Many other people made choices to use this bell IPR (which they freely gave away) and constructed huge edifices worth collectively in the Trillions of dollars. Very few people get to have this impact on an economy, let alone worldwide.
Thompson & Ritchie got the presidents medal for a reason.
Plan9 workflow is mouse oriented and it's fantastic. Its keyboard workflow or the lack of it is infuriating, for me, your typical linux/vim guy.
The linux mouse oriented workflow, or the lack of it, is equally infuriating for me now that I have used plan9(port), acme, editable dumb terminals, etc. So I hack it in my tools, however I can.
I would warn newcomers that experimenting with plan9 and its tools can create strong frustration :)
Although I guess one nice thing is that is puts in perspective the fact that stories about tiled window managers and/or Arch Linux and/or God knows what else are always showing up on HN. Kind of like when you see someone, who you can never understand what the hell they're jabbering about, give a talk about something you already know, and you realize that there's no way in hell you would have understood the topic based on what just came out of their mouth. Which is clarifying, because it reveals that they just suck at explaining things, and it's not just that you yourself are a dumbass.
On-Topic: Anything that good hackers would find interesting. That includes more than hacking and startups. If you had to reduce it to a sentence, the answer might be: anything that gratifies one's intellectual curiosity.
Off-Topic: Most stories about politics, or crime, or sports, unless they're evidence of some interesting new phenomenon. Videos of pratfalls or disasters, or cute animal pictures. If they'd cover it on TV news, it's probably off-topic.
You probably should: the Guidelines outright note that the site isn't targeting something like 60% of the population, by the above.
Then maybe you really should. I'd much rather read about off-kilter operating systems and their fans that I would about yet another American centric political article or who got rich this week selling clicks to the highest bidder.
If you'd replace Plan 9 with Linux, this exact sentence could have been uttered in an equivalent forum anytime between 15 and 25 years ago.
If people won't use and promote great but unpopular stuff, things are never going to change, and we'll be stuck with the same crap we have today forever.
One of the things I love about HN is how austere and information-dense the front page is. There are only two stories in the top ten I'm remotely interested in, and I figured that out in about as many seconds.
Tiling window managers are a great tool that I use every day to optimize my work productivity. I like reading how others use them too, so I can learn new stuff from them.
Watch this introductory video: https://youtu.be/6m3GuoaxRNM"
I think I'll pass.
...and I stopped reading right there. Different doesn't mean worse.