Re: [9fans] exportfs / u9fs / v9fs / npfs / spfs versus 9vx

2011-05-14 Thread Daniel Lyons

On May 13, 2011, at 8:47 PM, andrey mirtchovski wrote:

 Have you had trouble getting to u9fs from 9vx? It seems to work from
 p9p, but not from 9vx. Every connection to my machine times out, but
 sources works.
 
 i haven't used u9fs in a very long time. i'm normally talking to
 synthetic file servers written using py9p or go9p. i periodically try
 to ensure that py9p and go9p are still able to converse with plan9
 mostly out of habit.

I'm also not having any luck with py9p. So, there seems to be something wonky 
between 9vx and my FreeBSD VPS. I can imagine two possibilities:

1. My VPS or hosting provider has some kind of obnoxious firewall between me 
and 9vx
2. 9vx has to be set up somehow to access it

The problem with #1 is that I can access it from p9p on the same machine as 
9vx, and the problem with #2 is that I can access sources without any trouble.

Anybody know what I'm missing, or have a good idea how to debug it?

Thanks,

— 
Daniel Lyons




Re: [9fans] exportfs / u9fs / v9fs / npfs / spfs versus 9vx

2011-05-13 Thread Daniel Lyons
On Thu, May 12, 2011 at 01:17:41PM -0600, andrey mirtchovski wrote:
  How are you guys using these tools?
 
 it's not the most sophisticated setup, but it works, at least for the
 stuff that i need. pycrypto is a prerequisite:

Have you had trouble getting to u9fs from 9vx? It seems to work from
p9p, but not from 9vx. Every connection to my machine times out, but
sources works.

-- 
Daniel Lyons



[9fans] exportfs / u9fs / v9fs / npfs / spfs versus 9vx

2011-05-12 Thread Daniel Lyons
Here's my situation: I have a FreeBSD VPS somewhere in the world. I
have 9vx locally. I want to access files on the FreeBSD VPS from my
9vx running over here. How?

 - exportfs doesn't exist in p9p.
 - u9fs seems to be defunct; there's nowhere to download the source.
 - v9fs seems to be Linux-only.
 - npfs seems to be nothing but an umbrella for spfs.
 - spfs seems to build a binary ufs which, no matter how I run it,
   exits right away. Did I miss some documentation?

What's going on? It feels like I'm missing some obvious trick.
Security for this operation would be nice, but I don't consider it
necessary.

Thanks,

-- 
Daniel Lyons



Re: [9fans] Compiling 9atom kernel WAS: Re: spaces in filenames

2011-05-12 Thread Daniel Lyons

On May 10, 2011, at 2:34 AM, hiro wrote:

 20$ for a juice? I thought the dollar was already pretty high these
 days? Seldom do I say this phrase but what the fuck!

He's talking about wine.

— 
Daniel Lyons




Re: [9fans] exportfs / u9fs / v9fs / npfs / spfs versus 9vx

2011-05-12 Thread Daniel Lyons
On Thu, May 12, 2011 at 11:52:30AM -0700, Bakul Shah wrote:
 On Thu, 12 May 2011 13:14:55 CDT Stanley Lieber stanley.lie...@gmail.com  
 wrote:
  http://plan9.bell-labs.com/sources/plan9/sys/src/cmd/unix/u9fs
  
  This is the basis of the OpenBSD port.
 
 unix/9pfreebsd is really too old to be useful but may be one
 can start a new FreeBSD port from the openBSD bits?  I'd be
 interested in such a thing.

It compiles w/ 2 warning messages on my machine. Setting it up is
turning out to be interesting. I think probably the safest thing for
me to do would be to try tunnelling it over ssh, since both host
operating systems can do ssh v2. Still hammering on it. It does look
like 9vx isn't really able to talk to the machine from here, which is
odd because p9p's srv seems to be able to, at least make the
connection, though I'm not having much luck with that either.

How are you guys using these tools?

-- 
Daniel Lyons



Re: [9fans] exportfs / u9fs / v9fs / npfs / spfs versus 9vx

2011-05-12 Thread Daniel Lyons
On Thu, May 12, 2011 at 01:30:00PM -0700, Bakul Shah wrote:
 On Thu, 12 May 2011 14:03:13 CDT Daniel Lyons fus...@storytotell.org  wrote:
  On Thu, May 12, 2011 at 11:52:30AM -0700, Bakul Shah wrote:
   On Thu, 12 May 2011 13:14:55 CDT Stanley Lieber 
   stanley.lie...@gmail.com 
   wrote:
http://plan9.bell-labs.com/sources/plan9/sys/src/cmd/unix/u9fs

This is the basis of the OpenBSD port.
   
   unix/9pfreebsd is really too old to be useful but may be one
   can start a new FreeBSD port from the openBSD bits?  I'd be
   interested in such a thing.
 
 I was thinking of a kernel port (mount_9ufs etc). My hopes
 were briefly raised until I realized the openBSD port is not a
 kernel port. Though I am not sure if a kernel port is worth it
 (and it is certainly a bunch of work).

Wouldn't this be for mounting 9p *from* BSD, not exporting BSD's FS *to* 9p?

-- 
Daniel Lyons



Re: [9fans] freedom (was Re: Compiling 9atom kernel)

2011-05-07 Thread Daniel Lyons

On May 6, 2011, at 11:01 PM, Lucio De Re wrote:

 has anybody
 conclusively established why something MS could not successfully market
 has found such a ready audience when supplied by Apple?  Is it the UI
 as one might conclude from an earlier post?


The stylus, maybe? http://www.tuaw.com/files/stevesings.mp3

My pet theory is that it's the same reason people don't buy paper tablets that 
weigh 5+ lbs and have with built-in typewriters. Of course, you can't discount 
the possibility that there's a difference between a car and a horseless 
carriage.

— 
Daniel Lyons




Re: [9fans] Parallels 5

2011-05-06 Thread Daniel Lyons

On May 6, 2011, at 1:36 AM, Anthony Sorace wrote:

 I have a VM that I created under Parallels 5 and am currently running under 
 6. It's several months old.

I seem to have gotten my version numbers mixed up. It's Parallels 6 over here 
as well.

 1. ps2intellimouse: scrolling works if you're scrolling down, but if you 
 make the scroll up gesture, the mouse skitters off to the right and really 
 doesn't scroll back up. Anyone seen this or have a tricky solution?
 
 I saw this for the first time today. In my case, scrolling up *also* creates 
 occasional b2 presses. Weird. I haven't used the GUI on Parallels much for 
 two years, so I can't help with when it was introduced.
 
 2. Ethernet card is not detected. I am not 100% sure there's nothing 
 different in the configuration, but I've made the plan9.ini look the same in 
 both VMs and still it fails to detect the NE2000 emulated ethernet card. 
 There are also ominous messages about usbd: no hub during bootup that don't 
 happen under the old one.
 
 Ethernet works here (and did under Parallels 5, as well), and I've got 
 nothing in plan9.ini to trick it. You don't see the device at all (not just 
 no data or whatnot)?

There's no /net/ether0, so I can't run ip/ipconfig to get any further.

 Is there a boot log somewhere I can examine for messages I may not have 
 seen, or any other debugging information I can go looking for?
 
 /dev/kmesg will give you the console prints so far; /dev/kprint will wait for 
 new ones (and prevent them going to your actual console).

I don't see anything interesting there, except that it couldn't initialize 
usbd. Does usbd work for you?

— 
Daniel Lyons




[9fans] updating 9vx's Plan 9 install

2011-05-06 Thread Daniel Lyons
On the 9vx homepage, it says 9vx comes with a minimal Plan 9
install. How would one go about making into a complete install?
Running /usr/glenda/bin/rc/pull doesn't seem to work:

post...
replica/compactdb: opendb /n/boot/dist/replica/client/plan9.db:
'/n/boot/dist/replica/client/plan9.db' does not exist
replica/compactdb /n/boot/dist/replica/client/plan9.db: compactdb 151:
opendb /n/boot/dist/replica/client/plan9.db:
'/n/boot/dist/replica/client/plan9.db' does not exist
pull 123: test 153: false

Advice?

-- 
Daniel Lyons



Re: [9fans] updating 9vx's Plan 9 install

2011-05-06 Thread Daniel Lyons
Thanks, all!

-- 
Daniel Lyons



Re: [9fans] updating 9vx's Plan 9 install

2011-05-06 Thread Daniel Lyons

On May 6, 2011, at 11:31 AM, Anthony Sorace wrote:

 In addition to the tree Andrey noted, the general
 answer is simply to download the normal distribution
 image and use that. The effect is the same as using
 the tree Andrey pointed to and updating, but you'll
 save yourself time and work by just grabbing the
 current image.
 
 http://plan9.bell-labs.com/plan9/download/plan9.iso.bz2
 
 just mount the image and copy the contents to
 wherever you'd like your 9vx root to live, and point
 9vx at that.
 


That didn't work. Rio doesn't live long; you create a window and then get this:

invalid opcode f0 0f b1 at eip 00013f3b
invalid opcode f0 0f b1 at eip 00020dc2

And pretty much have to restart it. I'm going to try the other methods.

— 
Daniel Lyons




Re: [9fans] updating 9vx's Plan 9 install

2011-05-06 Thread Daniel Lyons

On May 6, 2011, at 10:05 PM, erik quanstrom wrote:

 i should have mentioned this change was made on 18 mar.

Using the plan9.tar.bz2 proved more fruitful. Perhaps there's something 
unsavory about the way Finder mounts ISOs.

— 
Daniel Lyons




Re: [9fans] Parallels 6

2011-05-06 Thread Daniel Lyons

On May 6, 2011, at 1:36 AM, Anthony Sorace wrote:
 2. Ethernet card is not detected. I am not 100% sure there's nothing 
 different in the configuration, but I've made the plan9.ini look the same in 
 both VMs and still it fails to detect the NE2000 emulated ethernet card. 
 There are also ominous messages about usbd: no hub during bootup that don't 
 happen under the old one.
 
 Ethernet works here (and did under Parallels 5, as well), and I've got 
 nothing in plan9.ini to trick it. You don't see the device at all (not just 
 no data or whatnot)?

No device at all. In frustration, I added the following to my plan9.ini:

*noetherprobe=1
ether0=ne2000

This had no effect either. I didn't have to do anything interesting for the old 
image either, I don't think.

 Is there a boot log somewhere I can examine for messages I may not have 
 seen, or any other debugging information I can go looking for?
 
 /dev/kmesg will give you the console prints so far; /dev/kprint will wait for 
 new ones (and prevent them going to your actual console).

OK, so after so many bytes free, I get this:

cpu0: 2671MHz GenuineIntel Core i5 (cpuid: AX 0x20655 DX 0x1F8BFBFF)
ELCR: 0E80
256M memory: 105M kernel data, 151M user, 574M swap
usbinit...usbd/boot/usbd: /dev/usb: no hubs
no usbd...no usb disk...auth...usbinit...usbd.../boot/usbd: /dev/usb: no hubs
no usbd...no usb disk...mount usbd...boot: can't open /srv/usb: '/srv/usb' file 
does not exist
time...
fossil(#S/sdC0/fossil)...version...time...
can't stat /srv/parts.sdXX: '/srv/partfs.sdXX' file does not exist

init: starting /bin/rc

And that's it, nothing particularly interesting. What else can I do to debug 
this?

Thanks,

— 
Daniel Lyons




[9fans] Parallels 5

2011-05-05 Thread Daniel Lyons
I have a rather old VM that I made under Parallels 3 that seems to work under 
Parallels 5. I think I installed that one in late 2009 or early 2010. As an 
experiment, I tried installing the current release under Parallels 5. It 
installs, and pretty quickly (5 min), but there are two small issues:

1. ps2intellimouse: scrolling works if you're scrolling down, but if you make 
the scroll up gesture, the mouse skitters off to the right and really doesn't 
scroll back up. Anyone seen this or have a tricky solution?

2. Ethernet card is not detected. I am not 100% sure there's nothing different 
in the configuration, but I've made the plan9.ini look the same in both VMs and 
still it fails to detect the NE2000 emulated ethernet card. There are also 
ominous messages about usbd: no hub during bootup that don't happen under the 
old one.

Is there a boot log somewhere I can examine for messages I may not have seen, 
or any other debugging information I can go looking for?

I'm downloading 9atom to compare tomorrow.

Thanks,

-- 
Daniel Lyons




Re: [9fans] Blocks in C

2009-09-17 Thread Daniel Lyons


On Sep 17, 2009, at 2:43 AM, Charles Forsyth wrote:


opening their platform interfaces


Any in particular?

—
Daniel Lyons




Re: [9fans] Blocks in C

2009-09-17 Thread Daniel Lyons


On Sep 17, 2009, at 3:19 AM, Andrew Simmons wrote:

And no doubt we'd have been much better off if Apple had instead  
spent the

time and effort making a decent iPod.



Um... what is it you dislike about the iPod?

—
Daniel Lyons




Re: [9fans] Blocks in C

2009-09-17 Thread Daniel Lyons

It would be easy to say that list should be divided, in practice
though, I'm not sure the folks who I would like to have a privilege
of addressing would voluntarily subscribe to the #3 type of list.



Being a curious sometime user I guess I fall in category 3. Which  
seems natural since the list is called 9fans not plan9-dev. Not  
sure our community is large enough to survive being partitioned off  
into little tiny segments.


—
Daniel Lyons




Re: [9fans] Simplified Chinese plan 9

2009-09-12 Thread Daniel Lyons


On Sep 12, 2009, at 1:05 AM, Eris Discordia wrote:

There's a discussion of evolution of languages that involves a  
language going from pidgin to creole to full-blown. Maybe text-ese  
is some sort of pidgin, or more leniently creole, that draws on the  
speakers' native language but the point here is that it will never  
evolve into a full-blown language.



Once again, words you use recklessly turn out to have actual  
definitions. From Wikipedia:


A pidgin language is a simplified language that develops as a means  
of communication between two or more groups that do not have a  
language in common...


A creole language, or simply a creole, is a stable language that  
originates from a mixture of various languages. The lexicon of a  
creole usually consists of words clearly borrowed from the parent  
languages, except for phonetic and semantic shifts. On the other hand,  
the grammar often has original features and may differ substantially  
from those of the parent languages.


I'm sure you'll provide us with the definitions from Merriam-Webster  
as well.


In other words, a pidgin is what you get when you have two groups  
without a common language being forced to communicate. A creole is  
what you get when their kids learn the pidgin as a first language.  
Linguists and physicists have a bad habit of making their jargon  
colorful so I'll only deduct half the usual points.


I agree with your conclusion, but I disagree with a couple steps in  
your reasoning. Namely, I don't think you could discover a systemic  
grammatical deviation from English in leet or text-speak or whatever.  
These are novel and amusing orthographies and in-crowd jargon and  
nothing more—people pronounce ROFL and LOL to be ironic and cute, not  
because they think they're words and would be surprised to learn their  
true origin. My wife and her best friend have a policy of pronouncing  
those abbreviations by spelling them out and then saying the last word  
(double-you tee ef fuck) to be funny. Also, plenty of people think  
in English differently than I do yet we all manage to communicate to  
the same degree (i.e. poorly but well enough to get by).


I also doubt that we'll have the kind of technology you're talking  
about, because I think 90% of the hard part of being a programmer  
comes from learning to think rigorously and that will be the stumbling  
block for anything digital that wants to try and digitize our  
thoughts. This is also the crux of my argument against the idea that  
computers will someday program themselves: the real barrier isn't  
hardware or motivation, it's that by the time you teach someone to be  
explicit enough that a computer can derive what they're trying to do,  
you've made them a programmer already (see Prolog for example). Same  
with strong AI: nobody has a clue how to word the problem precisely  
enough to write a program to solve it.


—
Daniel Lyons




Re: [9fans] nice quote

2009-09-07 Thread Daniel Lyons


On Sep 7, 2009, at 2:54 AM, Paul Donnelly wrote:


or perhaps A-list games programming



The Jak and Daxter series was written in Common Lisp.

http://en.wikipedia.org/wiki/Game_Oriented_Assembly_Lisp

—
Daniel Lyons




Re: [9fans] nice quote

2009-09-07 Thread Daniel Lyons


On Sep 7, 2009, at 3:05 AM, Greg Comeau wrote:


Some keep saying that we should use more complex languages in
the introductory course because they're in some way easier.
But I've yet to understand their definition of easier.


I've seen this before.  It's usually a combo of people
not knowing what they're talking about, making stuff up
as they go along, generalizing their personal programming
universe, being elite, and, miscommunication their point.



I have a friend who insists that every other language has been harder  
on him than macro assembler. And I think that's true, if you cannot  
understand how to program a machine other than by thinking about  
what's happening at the instruction level of the processor.


Each language provides its own view of the land. If you have a strong  
understanding of the hardware and wish to think in those terms you  
will probably find assembler or C to be your best friend. If you have  
a strong mathematical inclination Haskell will probably suit you  
better. I find Scheme introduces a model of computation which is a  
compromise between the two; close to the machine in memory, simple in  
syntax, and rather far from the machine in terms of continuations, but  
most of the code being in the middle anyway.


Part of what makes computing so interesting to me is that we can  
remodel it to suit different needs, tastes or problems. If we had to  
write our schedulers in rc, we'd probably find it obnoxious; similarly  
if we had to write trivial pipelines in C. The nice thing about Lisp,  
Haskell and Java is that when you're in their little world everything  
works the way you'd expect it to in their little world; the nice thing  
about Plan 9 and Unix is that most everything is designed to interact  
sanely and simply with the rest of the world. I find writing puzzle  
solvers simpler in Prolog than in Haskell despite Haskell's list  
comprehensions being essentially the same in power and somewhat more  
straightforward to reason about.


For some reason, the fact that we program rational machines in logic- 
based languages deludes us into thinking our experience is the same as  
everyone else's or our situation must be the same as everyone else's.  
I don't know anyone who likes to debate a programmer and isn't also a  
programmer; we are undoubtedly the most self-assured and non- 
empathetic group of people on the planet. We have every opportunity to  
be free of dogma, but our reason and our aesthetic reactions seem  
somehow to be soldered directly onto our emotions.


A problem is that the world isn't as rational as we are. It often  
chooses based on expedience, popularity, rumor, or emotion. Often the  
good is devoured by good marketing. I never would have expected to  
find defenders of Lisp or Haskell here in the Plan 9 mailing list. I  
am happy about that. But the hindsight has not been 20/20. Lisp and  
Plan 9 are in the same situation for exactly the same reason: they're  
both conceptually rigorous and short on eye candy, and the market  
chose other alternatives long ago, and now those alternatives define  
the question in a way that precludes these answers.


—
Daniel Lyons


Re: [9fans] nice quote

2009-09-05 Thread Daniel Lyons

Eris,

Using your theories, please explain why Lisp and Plan 9 both hover  
around the same level of popularity (i.e., not very, but not dead  
either).


—
Daniel Lyons




Re: [9fans] nice quote

2009-09-04 Thread Daniel Lyons

Let me be a little pedantic.

On Sep 4, 2009, at 2:18 PM, Eris Discordia wrote:
Above says precisely why I did. LISP is twofold hurtful for me as a  
naive, below average hobbyist.


FYI, it's been Lisp for a while.

For one thing the language constructs do not reflect the small  
computer primitives I was taught somewhere around the beginning of  
my education.


Like what? The if statement, which was invented by Lisp? The loop  
statement, for expressing loops? It sounds like you got a dose of  
Scheme rather than Lisp to me.


For another, most (simple) problems I have had to deal with are far  
better expressible in terms of those very primitives. In other  
words, for a person of my (low) caliber, LISP is neither suited to  
the family of problems I encounter nor suited to the machines I  
solve them on.


This hasn't been true for a while. Common Lisp is a general purpose  
language like any other. The only thing I have ever found obnoxious  
about CL was the filesystem API. Most CL implementations are compilers  
these days and they produce surprisingly efficient machine code. The  
Scheme situation is more diverse but you can definitely find  
performance if that's what you're eluding to.



Its claim to fame as the language for wizards remains.


I think this has more to do with Lisp users being assholes than  
anything intrinsic about Lisp. This is one of the nice things about  
Clojure. It's a break from tradition in this regard, as well as many  
others.


Although, mind you, the AI paradigm LISP used to represent is long  
deprecated (Rodney Brooks gives a good overview of this deprecation,  
although not specifically targeting LISP, in Cambrian Intelligence:  
The Early History of the New AI). One serious question today would  
be: what's LISP _really_ good for? That it represents a specific  
programming paradigm is not enough justification. Ideally, a  
language should represent a specific application area, as does C,  
i.e. general-purpose system and (low-level) application programming.



It's as though you have the up-to-date negative propaganda, but not  
the up-to-date facts. Lisp is really good for the same kinds of  
things other general purpose languages are good for. The main benefits  
it had in AI were features that came from garbage collection and  
interactive development. You get those benefits today with lots of  
systems, but that doesn't mean they aren't still there in Lisp. An  
advantage it has these days is that it produces code that performs  
better than, say, Python or Perl. I definitely would not call being a  
general purpose system and suitability for application programming  
a specific application area. This is like saying agglutinative  
languages are worse for conquering the world with than isolating  
languages because the Ottoman empire fell before the English empire.


Please don't interpret this as Lisp kicks C's ass. I'm saying,  
you're only seeing the negative half of the situation, and seeing too  
much causality. I think it's mostly happenstance. Lots of languages  
succeed despite having a killer app or app area. Python's a good  
example. Isolating the exact ingredients for the success of any  
language is probably impossible. I'd say only with C is it really  
clear what led to success, and it wasn't exclusively features of the  
language itself (though it was a part of it), but also that it came  
with Unix along with the source code. If the quacks had chosen C  
instead of Lisp for their AI research perhaps C would have taken a  
big hit during the so-called AI winter instead of Lisp. Perhaps if the  
Lisp machine vendors hadn't misunderstood basic economics so  
thoroughly, their machines would have become more common and taken  
Lisp with them the way Unix brought C. There are simply too many  
variables to lay the blame at Lisp's alleged functional basis.  
Especially today when languages like Haskell exist that take  
functional so much further they make Lisp look like a procedural  
language by comparison.


—
Daniel Lyons




Re: [9fans] Interested in improving networking in Plan 9

2009-09-03 Thread Daniel Lyons


On Sep 3, 2009, at 10:13 AM, Anthony Sorace wrote:


you can do things like
data constraints and validations in the application code, rather than
in the sql database itself, which always feels like this random
bolt-on to the application logic.



I think it's useful to think of relational databases as integration  
technology rather than merely storage technology. Having everything  
important in the application layer means you have to go through the  
application layer to do anything. Part of the point of SQL and RDBMSes  
being so complex is that it liberates the data from any one particular  
application that wants to access the data. This fact is often  
forgotten these days because most databases are only accessed through  
the web via one app. But I usually find that eventually one needs to  
get at the data directly, for reporting, maintenance or some other  
task that isn't intrinsically part of the website. Then the database  
can take on the data management role and make sure you don't make your  
data incomprehensible, as well as provide you with a little security.


Of course, it's best of all if you have a database that supports  
things like views; otherwise you will need application code to have  
any abstractions at all.


—
Daniel Lyons




Re: [9fans] nice quote

2009-09-03 Thread Daniel Lyons


On Sep 3, 2009, at 1:38 PM, tlaro...@polynum.com wrote:


C shall be the test. If you don't even understand C, explained by KR,
then do something else.



I'm glad this attitude exists, particularly here in the Plan 9  
community, where it belongs. But I don't agree. There are many  
languages because there are many ways of thinking about programming.  
Most people don't get introduced to the right one on the first try.  
Obviously C programmers have unique talents, but I prefer to think the  
world has a shortage of good programmers, not a glut of bad ones. Few  
got to excellence by birth alone.


—
Daniel Lyons




Re: [9fans] Blocks in C

2009-09-03 Thread Daniel Lyons


On Sep 3, 2009, at 9:44 AM, David Leimbach wrote:

I'm not 100% sure why the heck they did it this way, which is  
totally different from any other version of concurrent programming  
setup I've seen, except maybe that Apple likes to think different?


This API looks a lot to me like doing event-driven programming with  
jQuery. It lets you structure the code about the same as you would  
blocking, single-threaded code. That's the main benefit. The new stuff  
isn't intended to help you do Erlang-style concurrency or run on  
clusters. It's intended to help regular developers spawn a couple  
threads when it might help a little. Ease of use to the developer is  
priority 1 here.


Apple's strategy is, I think, fairly transparent: they want to make  
programming easier, and they want to make programming all of their  
different platforms seem similar. It works both intellectually (if  
they are similar, it's less to learn) and emotionally (it feels like a  
good investment to learn one, because it might at least apply to the  
others.) When you don't have the dominant platform, it's wise to cater  
to the laziest developers, because they are the ones who make the  
platform seem large and inviting to the customers. The more fun they  
make programming, the more it helps their bottom line.


—
Daniel Lyons



Re: [9fans] Blocks in C

2009-09-03 Thread Daniel Lyons


On Sep 3, 2009, at 10:02 AM, erik quanstrom wrote:


in c, i don't see why such a bolt-on would be useful in
c, especially since your concurrent fifo would be limited
to one shared-memory node unless you're going to add a runtime
compiler.



It's primarily an aesthetic benefit. From 
http://arstechnica.com/apple/reviews/2009/08/mac-os-x-10-6.ars/13

- (IBAction)analyzeDocument:(NSButton *)sender
{
  NSDictionary *stats = [myDoc analyze];
  [myModel setDict:stats];
  [myStatsView setNeedsDisplay:YES];
  [stats release];
}

becomes

- (IBAction)analyzeDocument:(NSButton *)sender
{
  dispatch_async(dispatch_get_global_queue(0, 0), ^{
  NSDictionary *stats = [myDoc analyze];
  dispatch_async(dispatch_get_main_queue(), ^{
  [myModel setDict:stats];
  [myStatsView setNeedsDisplay:YES];
  [stats release];
});
  });
}

Two more lines of code, and it will execute that block in another  
thread without having to do much thinking about it.


—
Daniel Lyons




Re: [9fans] vac errors after updating to latest p9p archive

2009-08-17 Thread Daniel Lyons


On Aug 16, 2009, at 10:26 AM, Fernan Bolando wrote:

oops
seeing that I posted this blindly anybody can now gain access to my  
files.



Is this true? I would have thought access to your Venti would be a  
requisite too.


—
Daniel Lyons




Re: [9fans] Using proportional fonts in Acme for Programming

2009-08-16 Thread Daniel Lyons


On Aug 14, 2009, at 12:28 PM, Roman V. Shaposhnik r...@sun.com wrote:

I looked at it for a while and came with a realization that it could
be just a tad heavier than what I need for most of the stuff I do.  
Plus

I'm not sure how to port it to Plan9 without first porting the JVM.


I actually meant to create a new Plan 9-specific Lisp variant, perhaps  
stealing some of Clojure's new ideas. Especially with respect to  
parallelism, the standard library and a few other things. I like that  
I can call into Java libs from Clojure but that's not the most  
interesting thing about it to me.


Another thing which would be cool would be something like scsh.

--
Daniel Lyons
 



Re: [9fans] Using proportional fonts in Acme for Programming

2009-08-14 Thread Daniel Lyons


On Aug 14, 2009, at 3:15 AM, Aaron W. Hsu wrote:

On Thu, 13 Aug 2009 13:58:39 -0400, Daniel Lyons fus...@storytotell.org 
 wrote:


I'd love it if Acme or Plan 9 had good support for some kind of  
Lisp variant.


Maybe that should be my next side project.



If that's something you're thinking about doing, let me suggest you  
take a look at Clojure. The Java aspect aside, it is a good compromise  
in design between Scheme and Lisp and introduces lots of good ideas.  
This is something I would want to do but I have a long way to go with  
Plan 9 before I think I could be serious about it.


—
Daniel Lyons




Re: [9fans] Thrift RPC

2009-08-13 Thread Daniel Lyons


On Aug 12, 2009, at 9:56 PM, erik quanstrom wrote:


if we're going back there, just take me out back and shoot me now.
i want to remember some progress in computer science.



The principal joy I derive from using Plan 9 (and I am quite new) is  
that it is so well architected. By day I am a web developer (when I'm  
employed) and I am just thoroughly sickened by the industry. It seems  
to me that at some point, the cool guys that beat me up in middle  
school somehow insinuated their way into technology and have hijacked  
everything. Currently they seem to be proceeding to reinvent the same  
things over and over again, on top of their own reinventions, for no  
particular gain except to make new jargon and get their name on the  
latest version. It's hard to even maintain a portfolio of work one's  
done when the lifespan of a website is dwindling to one year or six  
months. And that certainly reduces the incentive to give it everything  
you've got and make something really good.


I was curious about ICE, because it seemed like they actually took  
CORBA and said, what would this look like if it were implemented by  
engineers rather than a committee? But I don't think the problem  
facing the world is how do I integrate all these languages, possibly  
over the network? but rather how do I minimize all of this fucking  
complexity and still get things done? XML-RPC and SOAP are answers to  
stupid questions, which is why we have REST, but the joke is that none  
of the technologies that it relies on are even implemented enough by  
their own specifications such that it can really be used. It strikes  
me as ludicrous that you can go make a new Rails app and have to write  
by hand (or find someone's plugin) to create a login system for you,  
which won't even happen on the HTTP level (which supports it), or the  
RDBMS level (which also supports it), or the OS level (which again  
supports it.) How many times do we have to write username/password  
logins before we're done and we can fucking can move on? It's not like  
anything is really different at any of these levels, just the way the  
bytes get handed around. Then you have to be sure to use a database  
abstraction layer, because everyone seems to have forgotten that the  
database *is* an abstraction layer—this fact got lost in the shuffle  
as it became too complex for anyone to really understand completely.  
Yet nobody seems to be worried that the same thing might happen to  
their little project as they pile code upon code and it slowly swells  
up just like everything that came before or that it depends on. Before  
long, they need an abstraction layer for their abstraction layer! Then  
the schmucks come along and complain about performance and demand to  
be taught every dirty trick to take their barely useful code and  
remove all the clarity from it in the name of a performance. Software  
is cancer.


I don't know how long you've been a programmer, Erik, but I'm sure  
it's far longer than I. From my perspective, no, there is no progress  
in computer science, we're spending all our time trying to climb out  
of the same muddy hole we've been in since Dijkstra was a newlywed and  
Knuth was writing for MAD Magazine. CS has such advanced amnesia that  
it can't remember what prompted the last question it was asked and so  
it just repeats the question to itself over and over, never really  
aware that it isn't an answer. We dig and dig but the problem only  
gets worse because digging doesn't get you out of a muddy hole.


The things that keep me going are the pleasure I get from knowing a  
lot of obscure stuff, talking to intelligent, knowledgeable people  
such as comprise this mailing list, and (oddly) writing SQL. I  
wouldn't say I have much hope for the industry in general unless  
there's some sort of major restructuring. I try not to make that my  
problem and instead share the things I know about with people I think  
might benefit. So consider this the opposite of being flamed. I feel  
exactly the same way you do. I hope that in some time I will be doing  
as much for the good as you and others on this list that carry the  
Plan 9 torch and endure my stupid questions (and now my rants.)


—
Daniel Lyons




Re: [9fans] Using proportional fonts in Acme for Programming

2009-08-13 Thread Daniel Lyons


On Aug 13, 2009, at 3:14 AM, Aaron W. Hsu wrote:

So, I was browsing around the other day looking at Acme resources,  
and I discovered an old post from 1995 wherein someone advocated the  
use of proportional fonts for programming in Acme. This surprised  
me, to say the least. He even went as far as to mention that SML was  
the language they were using, and had managed to get a decent  
indenting pattern for it that was just as readable, without messing  
things up for proportional font users.


I have to admit that I'm a bit skeptical about whether such a  
technique actually works, and so, I thought I would pose some  
questions to you.


Bjarne Stroustrup actually advocates this style in The C++  
Programming Language.


This discussion reminds me of this elastic tab stops concept:

  http://nickgravgaard.com/elastictabstops/

I don't think it made it into any editors, but it would support the  
kind of fancy alignment I like to have in my code while also  
supporting real fonts, which I would prefer to use.


Thirdly, would you continue using proportional width fonts in cases  
like Lisp code, where you very often see something like the  
following indentation scheme, and how would you resolve these  
indentation problems with proportional width fonts if you did  
continue to use them?


(let ([foo bar]
  [something else])
  (some-func (called again)
(with fun indentation)
   (and yet)
   (another)))



I bet you could set up Emacs to use a proportional font. It can do  
anything, right? :)


I'd love it if Acme or Plan 9 had good support for some kind of Lisp  
variant.


—
Daniel Lyons




Re: [9fans] a few Q's regarding cpu/auth server

2009-08-08 Thread Daniel Lyons


On Aug 7, 2009, at 10:08 PM, lu...@proxima.alt.za wrote:


Story time. :)


You're also falling into the trap of believing that because it _can_
happen, it has to happen (Murphy's Law).  It punishes the many for the
sins of the few and is a very poor foundation for progress.


It wasn't a position, just a story. Though I do think a Murphy's law  
approach to security is better than a credulous one. But I don't think  
the Plan 9 approach is credulous. It just places priority on the  
network rather than the machine and assumes valuable machines will be  
treated that way.



Plan 9 has a good balance of cost of security against eventual real
protection and forces you to re-evaluate the accepted paradigms.  That
is sufficient reason to explore Plan 9, if not to adopt it wholesale.


I agree completely. When I have a budget for hardware I plan on  
adopting it wholesale actually. I wouldn't be here if I weren't  
interested in different paradigms and evaluating them.


--
Daniel Lyons



Re: [9fans] Acme Configuration

2009-08-07 Thread Daniel Lyons


On Aug 7, 2009, at 2:37 AM, Aaron W. Hsu wrote:

Other than a script to start acme with the -a option, is there some  
way to configure the start up option on Acme? I am thinking of the  
equivalent of a .exrc file or the like?



Generally you set it up the way you like, then run Dump. This creates  
a file acme.dump in your home directory. Then you can run acme -l  
acme.dump and it will restore itself to those settings, which are  
basically the frames, what files are open and what fonts you're using.  
You can also edit that file and dink around with it.


By default I think rio runs acme with -l lib/acme.dump, but you can  
certainly have as many of these around as you'd like.


—
Daniel Lyons




Re: [9fans] linux reinvents factotum, secstore ...

2009-08-07 Thread Daniel Lyons


On Aug 7, 2009, at 7:06 AM, Ethan Grammatikidis wrote:

X11 isn't a desktop, it tries very hard not to define a look and  
feel, but it has to include inter-app communications to support the  
supposedly desirable drag  drop as well as any copy/paste beyond  
plain text. In fact my big beef with dbus is that everything is all  
hot-all-over about dbus when it needs to be using X IPC.



My beef is that they were hot-all-over CORBA not too long ago. I  
expect in another three years nobody will be using D-Bus, they'll be  
using some new layer that sits on top of it... ad nauseam. Outside  
Plan 9 I don't see anyone solving two problems with one technology;  
instead, they're just solving one problem and introducing a new one.


—
Daniel Lyons




[9fans] searchfs

2009-08-06 Thread Daniel Lyons
I googled around and haven't found anything, but I notice there is a  
file /sys/src/cmd/aux/searchfs.c, and a corresponding binary aux/ 
searchfs. The code doesn't seem to explain what it does very well but  
it piqued my curiosity.


What's this do and how is it intended to be used? I don't know exactly  
what it wants for a database; I tried using /lib/words and it didn't  
blow up but I'm not sure that's what it needs. I found the /search  
file will accept strings like 'search=word' but it doesn't seem to  
have an effect in the filesystem, nor does reading from it produce  
anything.


Any pointers on how to use this? Or is it defunct or some kind of dead  
end?


Thanks,

—
Daniel Lyons




Re: [9fans] linux reinvents factotum, secstore ...

2009-08-06 Thread Daniel Lyons


On Aug 6, 2009, at 12:13 PM, erik quanstrom wrote:


poorly.  massive, overengineered, and yet lacking:

http://lwn.net/Articles/344117



Ugh.

A brief apology on their behalf, though. I have been trying to  
understand the workings of factotum, secstore, auth/keyfs and whatnot  
for a while and I'm just now starting to get the feeling that I might  
have a grasp on how all these things work together in concert to do  
their jobs.


There is a propensity to develop software starting from the interface  
working backwards to the functionality. When enough people reduplicate  
a functionality, they decide to move the functionality out. This is  
what you're going to get when you evolve software rather than  
architect it. One of the things I have been impressed with in Plan 9  
is that generally each layer of abstraction is comprehensive. On Linux  
there is a tendency to have to keep adding more layers upon the  
layers. This security framework, for example, relies on D-Bus for  
communication. The appearance of hal, the hardware abstraction layer  
a few years ago struck me too. Isn't that what the OS is supposed to  
provide? Maybe it would have been feasible to add whatever it adds if  
more of the drivers were in user space rather than kernel space.


It's easy for me to object to what they're coming up with but it would  
be hard for me to describe in detail how exactly factotum + all the  
other stuff encompass it, and I don't think that the paper we have on  
factotum or the section in nemo's book are sufficient either. As a  
devil's advocate, in my Mac keychain I have 13 keys related to file  
shares and 22 WEP keys. I have my SSH key on 24 machines. Then I have  
270 web form passwords or internet passwords in my keychain. Does  
factotum handle web passwords? I'm presuming not but I don't really  
know because I generally surf with Safari or Firefox outside Plan 9.  
I'm not complaining about the browser situation, I'm just saying, it  
seems to me that the average user probably has more website usernames  
and passwords than everything else combined. That's certainly the case  
with me. Could factotum be adapt to integrate with a browser and store  
web form secrets? If so that would be a compelling objection, since it  
looks like Firefox isn't going to start using their security framework  
anytime soon. And who can blame them? It already has a ton of  
dependencies and porting issues and this can only exacerbate it.


It might raise our profile a bit if someone who has a comprehensive  
understanding of the security framework in Plan 9 would write a  
rebuttal to this announcement, something along the lines of Plan 9:  
An Integrated Approach to Grid Computing by Andrey Mirtchovski, Rob  
Simmonds and Ron Minnich. That paper works largely as a refutation of  
the complexity of the Globus Toolkit. It would also be helpful to  
people like myself who are recent adopters of Plan 9 and don't have a  
comprehensive understanding of the security architecture—perhaps  
because we've been poisoned by systems like Mac OS X Keychain and SSH.


—
Daniel Lyons




Re: [9fans] linux reinvents factotum, secstore ...

2009-08-06 Thread Daniel Lyons


On Aug 6, 2009, at 7:39 PM, Roman Shaposhnik wrote:


On Aug 6, 2009, at 12:33 PM, Daniel Lyons wrote:
It's easy for me to object to what they're coming up with but it  
would be hard for me to describe in detail how exactly factotum +  
all the other stuff encompass it, and I don't think that the paper  
we have on factotum or the section in nemo's book are sufficient  
either. As a devil's advocate, in my Mac keychain I have 13 keys  
related to file shares and 22 WEP keys. I have my SSH key on 24  
machines. Then I have 270 web form passwords or internet passwords  
in my keychain. Does factotum handle web passwords? I'm presuming  
not but I don't really know because I generally surf with Safari or  
Firefox outside Plan 9. I'm not complaining about the browser  
situation, I'm just saying, it seems to me that the average user  
probably has more website usernames and passwords than everything  
else combined. That's certainly the case with me. Could factotum be  
adapt to integrate with a browser and store web form secrets? If so  
that would be a compelling objection, since it looks like Firefox  
isn't going to start using their security framework anytime soon.  
And who can blame them? It already has a ton of dependencies and  
porting issues and this can only exacerbate it.


These are reasonable questions (and many of them have yes as the  
answer ;-)) but I have a more
fundamental objection here: the desktop is just NOT the place for  
such a functionality to originate from. The very
concept of a fixed desktop that resides on a physical piece of  
hardware that you own feels so 20th century
to me. One way or the other the online identity issue is going to be  
settled. For contenders, though, I'd

rather look at: factotum or things like OAuth.


I agree, and I think this is one of the most attractive things to me  
about Plan 9.


I don't think there's a reasonable conversation to be had with folks  
struggling to provide solutions
for taking the pain out of managing plain text passwords. The pain  
is there for a reason.



I couldn't agree more. One of the first things that piqued my interest  
in Plan 9 was finding out that 9p's authentication system works a lot  
like Kerberos. I am very annoyed by security theater, which is one  
reason I don't object at all to the host-owner security model Plan 9  
uses.


—
Daniel Lyons




Re: [9fans] a few Q's regarding cpu/auth server

2009-08-06 Thread Daniel Lyons


On Aug 6, 2009, at 6:59 PM, hiro wrote:


don't forget to take away the connectors from the power and reset
buttons, otherwise good security concepts;)


Just out of curiosity, is it possible to simply unbind the console on  
one of these servers after bootup in some startup script? Or perhaps  
unbind the keyboard device, so you can see messages but not type  
anything in? Maybe use cat /dev/kprint instead of rc? It seems like it  
ought to be possible to disable the physical console this way. I ask  
simply as a way of reducing worry about passerby, not as a security  
solution.


—
Daniel Lyons




Re: [9fans] a few Q's regarding cpu/auth server

2009-08-06 Thread Daniel Lyons


On Aug 6, 2009, at 10:19 PM, lu...@proxima.alt.za wrote:


I have direct experience as a contractor where I have entered
many a co-lo; and was unimpressed with their security to say the  
least.

I had constant and easy access to a large number of nameless servers,
it's a nobrainer to access keyboard/monitor pairs in many of these  
places.


That would be vandalism.  You didn't indulge in it, why would you
expect someone else in your situation to do differently?  Or are you
lying to us?



Story time. :)

Several years ago I worked for a company here that had decided to  
colocate a server locally (yeah, brilliant, in Albuquerque) instead of  
getting a hosted server somewhere with better access. I wound up going  
down there a few times to add RAM to the system. Apart from my  
company, there were a smattering of other smalltimers with big tower  
computers from Dell on this rack and off on the other side of the  
facility was a fenced off area with four or five racks of Dell  
hardware. The owner casually mentioned to me that the company who  
owned the racks had something to do with airline ticket sales. I guess  
because I chuckled at that, he also mentioned to me that the computer  
next to ours was hosting the governor's re-election website. I thought  
about doing something malicious, because I'm not a big fan of  
Richardson, but decided it wasn't worth the trouble.


Later on one of the owners of the colo facility got bought out and  
blew up. He went into the facility and ripped out the primary router,  
then took the upstream cable and plugged it into another port on the  
backup router such that the packets wound up going in a cycle. Then he  
damaged the backup power system and flew out the door with the primary  
router.


Not really taking a position here but your comments reminded me of the  
story. I guess there's always a bigger jerk out there and sometimes he  
runs your colo facility.


—
Daniel Lyons




Re: [9fans] Parallels Vesa driver question

2009-08-04 Thread Daniel Lyons


On Aug 3, 2009, at 10:30 AM, ron minnich wrote:


Given these systems with mtrr issues.

Would it be possible to get:
- output from pci so we can see what memory ranges are in use on  
your machine


0.2.0:	vid  03.00.00 1ab8/1131  11 0:4001 256 1:c000 16777216  
2:4401 16

0.3.0:  brg  06.80.00 1ab8/1112   9
0.30.0: brg  06.00.00 8086/1130 255
0.31.0: brg  06.01.00 8086/2440 255
0.31.1: disk 01.01.80 8086/244b 255 4:5001 16
0.31.5: aud  04.01.00 8086/2445   9 0:5401 256 1:5801 64
0.5.0:  net  02.00.00 10ec/8029  10 0:4c01 32


- how much memory


256 MB, but that's arbitrary; just the preference I have set in  
Parallels.



- what the mtrrs look like once set up


I don't know how to obtain this information, but would be glad to  
supply it. Also, forgive my ignorance, but isn't there a chicken-and- 
egg problem, since if the MTRRs are set up in vgavesa.c, my display is  
unusable? Or is there a special way to bail out to the text mode when  
the display is screwed up?


Thanks again,

—
Daniel Lyons




Re: [9fans] Parallels Vesa driver question

2009-08-04 Thread Daniel Lyons


On Aug 3, 2009, at 9:12 PM, David Leimbach wrote:

Wow  Where's parallels 4.  I doubt I qualify for a free one.   
And VMWare Fusion really sucks with Plan 9 at the moment :-(



You could always try Q: http://www.kju-app.org/. I find it unbearably  
slow but it is free. I thought VirtualBox was allergic to Plan 9 but I  
might try again now that I know what the problem is and how to work  
around it.


The Parallels site is here: http://www.parallels.com/products/desktop/  
but they want $80 (or $50, if you're merely upgrading). I hate to  
recommend it because of their indifference (sometimes bordering on  
hate) towards their customers but it does seem to be the fastest Mac  
Plan 9 emulator I've had success with so far. As I said before,  
Windows is about their only interest, if that's is something you need  
on your Mac.


—
Daniel Lyons



Re: [9fans] Parallels Vesa driver question

2009-08-04 Thread Daniel Lyons


On Aug 3, 2009, at 5:20 AM, erik quanstrom wrote:

strange.

could one of you having trouble with vesa + mtrr try
vesa + the pat patch on sources in the saved patch
directory?



I fear I may not have applied the patch correctly:

/sys/src/9/pc% mk CONF=pcf
8c -FTVw devarch.c
devarch.c:733 not enough function arguments: cpuid
devarch.c:733 argument prototype mismatch IND ULONG for IND INT:  
cpuid

devarch.c:739 argument prototype mismatch INT for IND CHAR: cpuid
devarch.c:739 not enough function arguments: cpuid
devarch.c:739 argument prototype mismatch IND ULONG for IND INT:  
cpuid

devarch.c:869 function args not checked: mtrrprint
devarch.c:951 function args not checked: mtrr
mk: 8c -FTVw devarch.c  : exit status=rc 1227: 8c 1229: error

I copied /n/sources/patch/saved/pat/*.[ch] to /sys/src/9/pc ... What  
is the correct procedure here?


Thanks again,

—
Daniel Lyons




Re: [9fans] Parallels Vesa driver question

2009-08-03 Thread Daniel Lyons


On Aug 2, 2009, at 3:41 PM, erik quanstrom wrote:


Erik,

Thanks for your speedy assistance! I think the two things are closely
interrrelated via the global variable hardscreen. Reverting this file
solved the problem. I wouldn't be surprised if there were something
weird about Parallels' MTRR support, and since this isn't the current
version it's not likely to get any better. If anyone's using  
Parallels

4 and not running into this issue, I'd love to know.


you're welcome.

but if you wouldn't mind, would you try the new source but modify
it by replacing the vgavesaflush in the following diff with 0?


Yes, this alone is not sufficient to fix the problem, which I believe  
confirms your suspicion that there is a defect in either Parallel's  
MTRR or Plan 9's Vesa MTRR. My money would be on Parallels, since they  
have a reputation for building the VM to support Windows first.


Again, thanks! Hopefully I'll be able to afford a copy of the new  
version of Parallels in a little while and perhaps that will help  
further isolate the problem.


—
Daniel Lyons




[9fans] Parallels Vesa driver question

2009-08-02 Thread Daniel Lyons

Hi,

I installed Plan 9 under Parallels 3 back in November of last year and  
it worked without a hitch. I tried to install another copy tonight and  
the bitmapped display isn't working in the new one, I just get a pure  
black screen after any aux/vga command that it thinks will succeed. I  
found I can reproduce that behavior by building and running a new  
kernel in the old install. Any ideas what has happened since November  
in the kernel with respect to Vesa and Parallels? I'd be more than  
happy to debug this issue if I could get a little guidance. I didn't  
see anything in the archives about this problem. Alternatively, does  
anyone know if Parallels 4 works with a current kernel? If so I'll  
probably just upgrade to that; I've been holding off for a good reason  
to.


Thanks,

—
Daniel Lyons




Re: [9fans] Parallels Vesa driver question

2009-08-02 Thread Daniel Lyons

Erik,

Thanks for your speedy assistance! I think the two things are closely  
interrrelated via the global variable hardscreen. Reverting this file  
solved the problem. I wouldn't be surprised if there were something  
weird about Parallels' MTRR support, and since this isn't the current  
version it's not likely to get any better. If anyone's using Parallels  
4 and not running into this issue, I'd love to know.


Also, are the old sources available online somewhere so I can do this  
kind of diff in the future on my own?


Thanks again,

On Aug 2, 2009, at 11:06 AM, erik quanstrom wrote:


On Sun Aug  2 05:39:10 EDT 2009, fus...@storytotell.org wrote:

Hi,

I installed Plan 9 under Parallels 3 back in November of last year  
and
it worked without a hitch. I tried to install another copy tonight  
and

the bitmapped display isn't working in the new one, I just get a pure
black screen after any aux/vga command that it thinks will succeed. I
found I can reproduce that behavior by building and running a new
kernel in the old install. Any ideas what has happened since November
in the kernel with respect to Vesa and Parallels? I'd be more than
happy to debug this issue if I could get a little guidance. I didn't
see anything in the archives about this problem. Alternatively, does
anyone know if Parallels 4 works with a current kernel? If so I'll
probably just upgrade to that; I've been holding off for a good  
reason

to.


two things: mtrr and adding a vesaflush command.  it doesn't quite  
make

sense to me that this would break parallels, unless there is something
funky about
- mtrr ranges with parallels.
- parallels vesa
- plan 9 vesa support

the easiest thing to do would be to comment out vesaflush and
see what happens.  without pawing through the standard, it may
be that vesaflush is optionally supported and parallels doesn't  
support it.


- erik

; diff -c vgavesa.c /n/sourcesdump/2008/1101/plan9/sys/src/9/pc/ 
vgavesa.c
vgavesa.c:13,21 - /n/sourcesdump/2008/1101/plan9/sys/src/9/pc/ 
vgavesa.c:13,18

 #include cursor.h
 #include screen.h

-
- static void *hardscreen;
-
 #define WORD(p) ((p)[0] | ((p)[1]8))
 #define LONG(p) ((p)[0] | ((p)[1]8) | ((p)[2]16) | ((p)[3]24))
 #define PWORD(p, v) (p)[0] = (v); (p)[1] = (v)8
vgavesa.c:83,89 - /n/sourcesdump/2008/1101/plan9/sys/src/9/pc/ 
vgavesa.c:80,86

 }

 static void
- vesalinear(VGAscr *, int, int)
+ vesalinear(VGAscr* scr, int, int)
 {
int i, mode, size;
uchar *p;
vgavesa.c:130,169 - /n/sourcesdump/2008/1101/plan9/sys/src/9/pc/ 
vgavesa.c:127,135

size = ROUND(size, 1024*1024);

 havesize:
-   if(size  16*1024*1024)  /* probably arbitrary; could 
increase */
-   size = 16*1024*1024;
-   hardscreen = vmap(paddr, size);
-   mtrr(paddr, size, wc);
- //vgalinearaddr(scr, paddr, size);
+   vgalinearaddr(scr, paddr, size);
 }

- static void
- vesaflush(VGAscr *scr, Rectangle r)
- {
-   int t, w, wid, off;
-   ulong *hp, *sp, *esp;
-
-   if(rectclip(r, scr-gscreen-r) == 0)
-   return;
-
-   hp = hardscreen;
-   sp = (ulong*)(scr-gscreendata-bdata + scr-gscreen-zero);
-   t = (r.max.x * scr-gscreen-depth + 2*BI2WD-1) / BI2WD;
-   w = (r.min.x * scr-gscreen-depth) / BI2WD;
-   w = (t - w) * BY2WD;
-   wid = scr-gscreen-width;
-   off = r.min.y * wid + (r.min.x * scr-gscreen-depth) / BI2WD;
-
-   hp += off;
-   sp += off;
-   esp = sp + Dy(r) * wid;
-   while(sp  esp){
-   memmove(hp, sp, w);
-   hp += wid;
-   sp += wid;
-   }
- }
-
 VGAdev vgavesadev = {
vesa,
0,
vgavesa.c:174,178 - /n/sourcesdump/2008/1101/plan9/sys/src/9/pc/ 
vgavesa.c:140,145

0,
0,
0,
-   vesaflush,
+   0,
 };



—
Daniel Lyons