Anthony Sorace | 1 Sep 17:35 2015
Picon

sh-file2chan and named registries

/appl/cmd/sh/file2chan.b always binds #s over the
target directory, which (as far as I can tell) makes
using named registries (eg #sfoo) with it impossible.
Is this an intentional limit? Testing without that bind
seems to yield the results I expect.

The behavior I’d like is for sh-file2chan to try the
sys->file2chan as-is first, and only if that fails try
the bind (and then retry the sys->file2chan). Or (as
I’ve been testing) just omit the bind entirely, and
document that the caller is expected to ensure that
there’s a #s on the target dir.

Thoughts?

--

-- 
You received this message because you are subscribed to the Google Groups "inferno-os" group.
To unsubscribe from this group and stop receiving emails from it, send an email to inferno-os+unsubscribe@...
For more options, visit https://groups.google.com/d/optout.

Hans Schueren | 26 Aug 11:18 2015
Picon

inferno-os@... - 2 updates in 1 topic

Good morning ,


i got it.   i got it.

It takes a longer time , but now ia have it ready.


Hans





"Hans Schüren" <werbung-vh61t7s1Y2KHSKu/B8ty+A@public.gmane.org>: Aug 22 02:00PM -0700

I have installed the Inferno Folder under Win XP C:/inferno.
 
Now i follow the steps from the book "Inferno Programming with Limbo" from
Phillip Marbell.
 
Go into the directory Inferno/NT/386/bin and starting emu.exe.
 
Now iam typing "wm/logon".
 
There is the error message :
; wm/logon
logon: must run under a window manager
wmlib: no draw context
;
 
ok. that does not work.
 
Now i try wm/wm. And the IDE is starting.
 
In the book i see that i have to add a new user.
 
Also there is the information that the user has to be in the "usr" folder.
 
A folder has to be created with my name and the contents of
lib/keyring/charon/ etc.
 
There is the information that in theese folders all user information is
enclosed.
 
The directories have to been made with the command "mkdir".
 
ok. But how are they made ? From a shell. From a acme.
 
There are no exact instructions and examples how to make the directories
from Inferno.
 
That is strange at this point.
 
I suppose to get clear instructions to make a new user . step by step.
 
There i see in Figure 1.7 in the book an picture instruction from the shell
with an example how Mr. Marbell is creating anew user.
 
I decide to follow theese instruction too.
 
Type the following :
 
% cd / keydb
% lc
countersigned keys signed
% changelogin pip
sh: changelogin: ' ./changelogin' file does not exist
% changelogin
% changelogin: './changelogin' file does not exist
 
Now i am frustated , because that is not functioning.
 
There are no other descriptions elsewhere. Not in "Descent into Limbo" or
other.
 
 
I am not nuts.
 
I realised that in limbo a programm is structured in modules.
A program consists of two files one .m and one .b.
They are working together and the result is the independent .dis file.
The files have to be in the "usr" folder where all other user informations
are enclosed.
So far so right.
 
 
I go on "Files" in the IDE menue and see the message :
 
plumb: can't read /usr/Hans Schueren/lib/plumbing: '/usr/Hans Schueren'
does not exist
plumb: can't read /usr/Hans Schueren/lib/plumbing: '/usr/Hans Schueren'
does not exist
ftree: can't start plumber: init
ftree: no plumber
 
Thats reasonable because i dont have created a new user. How should i do
that ?
 
 
ok. Now i have decided only to start the "Hello World" program. Only
start and see
Nothing more.
 
 
See the Hello world instructions on page 26. 2.2 Hello World.
 
I type the code in the inferno shell :
 
% #File : helloworld.m
% HelloWorld : module
sh: HelloWorld: ' ./HelloWorld' file does not exist
%
 
Wow. A good example. Whats that ?
I am not nuts.
If i want to write a programm is there made as file automatic , together
with the coding and debugging ?
Or do i have to make the files first. Optional work.
Why is that not described step by step anywhere ?
 
I decide to take the "A descent into limbo" Hello world code. Site 3
 
Type in the shell :
 
% implement Hello ;
sh: implement: './implement' file does not exist
%
 
Oh my good. What is that for a nonsense ?
 
 
Not possible to start the "Hello World" minimal program.
 
 
The question is :
 
If i want to write a program , how to make the .m and .b files ?
 
How can i create a new user.
 
 
What are the steps ?
 
 
There is only programming code described where the .m and .b files alredy
exist.
 
But the are not there.
 
That makes no sense.
 
Normally i am making a code in the shell and THEN save that code a a file.
Pete <pete-Obkyh9HiVfY@public.gmane.org>: Aug 22 05:35PM -0700

On 2015年08月22日 14:00, Hans Schüren wrote:
> wmlib: no draw context
> ;
 
> ok. that does not work.
 
The way to do that is 'wm/wm wm/logon'.
 
 
> Also there is the information that the user has to be in the "usr" folder.
 
> A folder has to be created with my name and the contents of
> lib/keyring/charon/ etc.
 
Once you're in the window manager, you can pop up a shell and just copy
/usr/inferno to /usr/$your_username. That's all it actually takes to
create a user, until you want to do authentication across machines.
 
> ok. But how are they made ? From a shell. From a acme.
 
You can do that from a shell. You can even do it from the host OS by
just going into usr/ inside the Inferno tree and doing a direct copy.
 
> % changelogin
> % changelogin: './changelogin' file does not exist
 
> Now i am frustated , because that is not functioning.
 
You have to run it as auth/changelogin, and you've got to have the key
server running. But for just running "Hello, World!", that's not
necessary until you want to set up a network.
 
> There are no other descriptions elsewhere. Not in "Descent into Limbo" or
> other.
 
Well, those are about the Limbo programming language, so they just have
a bit of cursory information.
 
You can read some more about setting it up if you like here:
http://www.ueber.net/who/mjl/inferno/getting-started.html . That covers
everything, starting from the beginning, and all the way through "Hello,
World!". It should explain all the paths in the OS.
 
> A program consists of two files one .m and one .b.
> They are working together and the result is the independent .dis file.
 
You don't strictly need the .m for a standalone program, but it doesn't
hurt.
 
> The files have to be in the "usr" folder where all other user informations
> are enclosed.
 
Those you can actually put anywhere, but you probably want to work from
your home directory, which is /usr/$your_username.
 
> does not exist
> ftree: can't start plumber: init
> ftree: no plumber
 
Right; your username in this case is 'Hans Schueren', and there is no
home directory named that yet. Also, Inferno doesn't do well with
spaces in filenames. Luckily, there are no "special" users in this OS,
so you can type any name you like in the prompt that wm/logon gives you.
Try copying the files in 'inferno' to 'hans' and logging in as 'hans'.
You can also just log in as 'inferno' if you have trouble with that,
since it acts as the template for the other home directories.
 
> %
 
> Wow. A good example. Whats that ?
> I am not nuts.
 
You can't type Limbo code directly into the shell.
 
> If i want to write a programm is there made as file automatic , together
> with the coding and debugging ?
> Or do i have to make the files first. Optional work.
 
Yep, you have to make a file, then compile the code. There's a simple
editor that ships with the OS; it's in the menu under 'Edit', which even
has some syntax highlighting if you like that. You can also use Acme,
which is usually the preferred editor, but it has a somewhat higher
learning curve.
 
> sh: implement: './implement' file does not exist
> %
 
> Oh my good. What is that for a nonsense ?
 
Well, if you try to type it into the shell, it'll look for a program
called 'implement', which is why the shell is saying that a file called
implement doesn't exist.
 
 
> If i want to write a program , how to make the .m and .b files ?
 
> How can i create a new user.
 
> What are the steps ?
 
Hopefully that should answer the questions.
You have received this digest because you're subscribed to updates for this group. You can change your settings on the group membership page.
To unsubscribe from this group and stop receiving emails from it send an email to inferno-os+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.

--
You received this message because you are subscribed to the Google Groups "inferno-os" group.
To unsubscribe from this group and stop receiving emails from it, send an email to inferno-os+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
For more options, visit https://groups.google.com/d/optout.

Hans Schüren | 22 Aug 23:00 2015
Picon

Cannot start the "HelloWorld" program.


I have installed the Inferno Folder under Win XP   C:/inferno.

Now i follow the steps from the book "Inferno Programming with Limbo" from Phillip Marbell.

Go into the directory Inferno/NT/386/bin  and starting  emu.exe.

Now iam typing "wm/logon".

There is the error message : 
; wm/logon
logon: must run under a window manager
wmlib: no draw context
;

ok. that does not work.

Now i try  wm/wm.  And the IDE is starting.

In the book i see that i have to add a new user.

Also there is the information that the user has to be in the "usr" folder.

A folder has to be created with my name and the contents of lib/keyring/charon/ etc.

There is the information that in theese folders all user information is enclosed.

The directories have to been made with the command  "mkdir".

ok. But how are they made ? From a shell. From a acme.

There are no exact instructions and examples how to make the directories from Inferno.

That is strange at this point.

I suppose to get clear instructions to make a new user . step by step.

There i see in Figure 1.7 in the book an picture instruction from the shell with an example how Mr. Marbell is creating anew user.

I decide to follow theese instruction too.

Type the following  :

% cd / keydb
% lc
countersigned keys             signed
% changelogin pip
sh: changelogin: ' ./changelogin' file does not exist
% changelogin
% changelogin: './changelogin' file does not exist

Now i am frustated , because that is not functioning.

There are no other descriptions elsewhere. Not in "Descent into Limbo" or other.


I am not nuts.

I realised that in limbo a programm is structured in modules.
A program consists of two files one .m  and one .b.
They are working together and the result is the independent .dis file.
The files have to be in the "usr" folder where all other user informations are enclosed.
So far so right.


I go on  "Files" in the IDE menue and see the message :

plumb: can't read /usr/Hans Schueren/lib/plumbing: '/usr/Hans Schueren' does not exist
plumb: can't read /usr/Hans Schueren/lib/plumbing: '/usr/Hans Schueren' does not exist
ftree: can't start plumber: init
ftree: no plumber

Thats reasonable because i dont have created a new user.  How should i do that ?


ok.  Now i have decided only to start the "Hello World" program.   Only start and see
      Nothing more.


See the Hello world instructions on page 26.   2.2 Hello World.

I type the code in the inferno shell :

% #File : helloworld.m
% HelloWorld : module
sh: HelloWorld:  ' ./HelloWorld' file does not exist
%

Wow. A good example.  Whats that ?
I am not nuts.
If i want to write a programm is there made as file automatic , together with the coding and debugging ?
Or do i have to make the files first. Optional work.
Why is that not described step by step anywhere ?

I decide to take the "A descent into limbo"  Hello world code.  Site 3

Type in the shell :

% implement Hello ;
sh: implement:  './implement' file does not exist
%

Oh my good.  What is that for a nonsense ?


Not possible to start the "Hello World" minimal program.


The question is :

If i want to write a program , how to make the  .m and  .b  files ?

How can i create a new user.


What are the steps ?


There is only programming code described where the .m  and .b files alredy exist.

But the are not there.

That makes no sense.

Normally i am making a code in the shell and THEN  save that code a a file.


















--
You received this message because you are subscribed to the Google Groups "inferno-os" group.
To unsubscribe from this group and stop receiving emails from it, send an email to inferno-os+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
For more options, visit https://groups.google.com/d/optout.
Hans Schüren | 6 Aug 17:02 2015
Picon

What is the best way to learn Limbo step by step ?

Hello ,

does anyone have suggestion to learn the limbo language step by step 

if there are no Unix knowledge ?

I mean learning for beginners who are only familiarized with , let us say "very easy IDEs and language under winXP.


This might be a important issue , because a beginner dont know who to start.

The steps of learning should be clear described anyway.

Hans

--
You received this message because you are subscribed to the Google Groups "inferno-os" group.
To unsubscribe from this group and stop receiving emails from it, send an email to inferno-os+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
For more options, visit https://groups.google.com/d/optout.
Hans Schüren | 6 Aug 16:13 2015
Picon

Hello Limbo Programmers.

Now i am still here.

Greetings
Hans

--
You received this message because you are subscribed to the Google Groups "inferno-os" group.
To unsubscribe from this group and stop receiving emails from it, send an email to inferno-os+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
For more options, visit https://groups.google.com/d/optout.
Chris Owen | 28 Nov 06:44 2013
Picon

Fix for Mac OSX 10.8/9 emu drawing issue

Hi, I'm new here, so excuse me if I'm missing some protocol. I've been playing with inferno for a couple of weeks and got annoyed by the drawing issues in emu on Mac OSX reported here:

http://comments.gmane.org/gmane.os.inferno.general/5551

Anyway, it was a simple fix (for some reason getting an imageref with the whole image rect was giving black). Here is the patch, which seems to work for me:

--- a/emu/MacOSX/win.c Mon Nov 11 15:00:50 2013 +0000
+++ b/emu/MacOSX/win.c Thu Nov 28 06:06:47 2013 +0100
<at> <at> -573,10 +573,12 <at> <at>
  QDBeginCGContext(GetWindowPort(theWindow), &context);
 
  // The sub-image is relative to our whole screen image.
- CGImageRef subimg = CGImageCreateWithImageInRect(fullScreenImage, rbounds);
-
+ CGImageRef subimg = CGRectEqualToRect(rbounds, bounds) ?
+ CGImageCreateCopy(fullScreenImage) :
+ CGImageCreateWithImageInRect(fullScreenImage, rbounds);
+    
  // Drawing the sub-image is relative to the window.
- rbounds.origin.y = winRect.bottom - winRect.top - r.min.y - rbounds.size.height;
+ rbounds.origin.y = winRect.bottom - winRect.top - rbounds.origin.y - rbounds.size.height;
  CGContextDrawImage(context, rbounds, subimg);
  CGImageRelease(subimg);
  QDEndCGContext(GetWindowPort(theWindow), &context);
Oleksandr Iakovliev | 20 Nov 20:31 2013

Rpi, dwcusb

Hi Inferno folks,
Have a question for Richard Miller (man with unknown email :) ) regarding dwcusb.
Looks like that I have compiled-in it into native inferno without problems, it looks starting OK on boot (some messages),
but due to much of code, I am not sure how trace/debug and prove that it is really working in some way.
Can you provide some guidance?
Dmitry Novikov | 6 Nov 17:04 2013
Picon

Fwd: Delivery Status Notification (Delay)

Anybody's here..?


2013/11/6 Mail Delivery Subsystem <mailer-daemon-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
This is an automatically generated Delivery Status Notification

THIS IS A WARNING MESSAGE ONLY.

YOU DO NOT NEED TO RESEND YOUR MESSAGE.

Delivery to the following recipient has been delayed:

     inferno-list <at> vitanuova.com

Message will be retried for 1 more day(s)

Technical details of temporary failure:
The recipient server did not accept our requests to connect. Learn more at http://support.google.com/mail/bin/answer.py?answer=7720
[(10) smtp.vitanuova.com. [188.65.100.67]:25: Connection timed out]

----- Original message -----

DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20120113;
        h=message-id:date:from:user-agent:mime-version:to:subject:references
         :in-reply-to:content-type:content-transfer-encoding;
        bh=vNa1f12NSilF3jfGbLaa4JR6fF+hpdUHKfq1z7dO4II=;
        b=G/wQofEIUNPnOyqhFgBxpaDpUSwbzTQpVBzSMoPwQ0uuqprvoCX7DH5xAnvC3tcOsO
         +1M6kax7gh9fCd2sugvuLIXNrvYvpWMJ7JJ+oA+ayfjq7kWowkKTGwOYfMdV2TFbv9H/
         HrNfNOPVSI/atr/kOWT3/fRNCYQTI5x3ciA43GADqmOr1jmxqmDUGYqpq6d4NNWCcNwL
         c1+wONnHal3jgK0HRhIiHrgnzHFGAkvFpXwFFfM6ZyqN3Sgvf9iMZGK2rDL0cPQRg+/B
         SA8mksrPHTCZbNZi1wNu/WOBAefgeM7ZsPtTDfajzCVmBkb+DgosPkys+wUGOx8EOoFC
         O6hQ==
X-Received: by 10.112.143.166 with SMTP id sf6mr1866046lbb.29.1383574367326;
        Mon, 04 Nov 2013 06:12:47 -0800 (PST)
Return-Path: <dmitry.a.novikov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Received: from [192.168.1.10] ([178.67.86.6])
        by mx.google.com with ESMTPSA id vs11sm22979245lac.3.2013.11.04.06.12.45
        for <inferno-list-VZPH4yCFGSyB+jHODAdFcQ@public.gmane.org>
        (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
        Mon, 04 Nov 2013 06:12:46 -0800 (PST)
Message-ID: <5277AB5D.9080808-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Date: Mon, 04 Nov 2013 18:12:45 +0400
From: "dmitry.a.novikov <at> gmail.com" <dmitry.a.novikov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.1.0
MIME-Version: 1.0
To: inferno-list-VZPH4yCFGSzSCDK34cm6iQ@public.gmane.orgm
Subject: Acme UI bug?
References: <e252ea54-be28-4de7-a3b9-7d1d09aeca6c-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org> <418ab30a-bfd5-42f3-9204-a43137dfa20f-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
In-Reply-To: <418ab30a-bfd5-42f3-9204-a43137dfa20f-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi all,

I've just started learning Inferno and met this issue...
Acme 'Snarf's only the first symbol of those are selected. If I copy
from host (Win7 x64) and 'Paste' into Acme then it works as expected.

Has anyone also met it?
Can anyone provide any help with this issue?

Thanks in advance!
Dmitry.

Alexandre Esteves | 24 Sep 00:53 2013
Picon

Fwd: dis interpreter report 11 (final)



Segunda-feira, 23 de Setembro de 2013 23:50:26 UTC+1, Alexandre Esteves escreveu:
So, GSOC ended. More importantly, summer is ending, as is my suffering at the hands of 3XºC temperatures.

I expected to have more things done by this point. 
This is mostly my fault for starting work without a proper understanding of the existent code/vm.

Still, a mostly functional single-threaded interpreter is working.
On tests/assembly.dart there's some simple examples for printing factorials or ellapsed time.

The large majority of the Sys module isn't implemented, neither are multiplexing and channels. Modules/linkage also aren't finished.
I'll keep going until at least all these are done, albeit at a lower pace.

The part of the code that's used to simulate C primitives/structs could probably make for a self-contained library, after I do some major improvements and cleanup. Should be useful for emulators and similar things.

For the curious, there's two .txt files on the repository root.
- todo.txt   : list of future improvements is on the repository 
- errata.txt : list of things incorrect/missing on the current documentation

Thanks to Charles, my mentor, and random people on irc that helped me with installing inferno and other annoying stuff.

See you soon

Alexandre Esteves | 18 Sep 16:41 2013
Picon

Fwd: dis interpreter report 10



---------- Forwarded message ----------
From: Alexandre Esteves <alexandre.fmp.esteves-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Date: 2013/9/18
Subject: dis interpreter report 10
To: plan9-gsoc-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org


So, college started, and time's been tighter. Still working on modules/links. 
An annoying obstacle is that there's zero documentation for pseudo instructions, so I need to rely on the assembler code and output to try and make sense of it all. 
As soon as it's working, I'll implement some Sys module functions to allow running some actual limbo code so people can see things working.
As for channels, they probably won't make it by the 23rd.


--
You received this message because you are subscribed to a topic in the Google Groups "Plan 9 Google Summer of Code" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/plan9-gsoc/kxHBk8bKP7c/unsubscribe.
To unsubscribe from this group and all its topics, send an email to plan9-gsoc+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To post to this group, send email to plan9-gsoc-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
Visit this group at http://groups.google.com/group/plan9-gsoc.
For more options, visit https://groups.google.com/groups/opt_out.

Alexandre Esteves | 11 Sep 02:15 2013
Picon

Fwd: dis interpreter report 9



Quarta-feira, 11 de Setembro de 2013 1:14:21 UTC+1, Alexandre Esteves escreveu:
Been tying up some loose ends related to memory management.
Memory allocation now supports several pools. Each pool uses a splay tree for free blocks and another for used blocks. 
I tried to encapsulate address-pool memory mapping inside a VirtualAddress class. Since Dart doesn't allow subclassing int, and my pointer classes are kind of crappy atm, it's been difficult to work that in, so that functionality is pretty scattered for now.

I'm currently working on module(s) loading.
Rather than a list of instructions, a full module should be loaded, complete with code,data,type descriptors,etc.
There's some preliminary scheduling/channels code in place, but nothing will really work withouth proper modules.

Gmane