Re: Per popular demand, here are Adam D Ruppe's presentation slides

2014-05-28 Thread Dicebot via Digitalmars-d-announce

On Friday, 23 May 2014 at 19:29:12 UTC, Andrei Alexandrescu wrote:
Adam graciously shared the slides of his DConf 2014 talk with 
us:


http://imgur.com/hHCN3OL


Andrei


This was best marketing for Adam book possible :) Someone who can 
talk for an hour without any visual helpers while still 
maintaining good information structure must be really good at 
writing books ;)


Re: Per popular demand, here are Adam D Ruppe's presentation slides

2014-05-28 Thread Adam D. Ruppe via Digitalmars-d-announce

On Tuesday, 27 May 2014 at 05:23:03 UTC, Nick Sabalausky wrote:
I always chalked it up to the whole nerd thing: Inverse 
relationship in outgoingness between in-person vs 
semi-anonymous.


I don't think I'm /that/ much different; I rarely start threads, 
for example, but will talk in replies, which is analogous to 
waiting for someone else to approach me in person then having the 
discussion before going back into the shadows once it runs its 
course.


I also lurk on forums for a pretty long time before posting, 
similarly to how I sit quietly in bigger groups until I get to 
know the people (and generally until someone on the inside takes 
me under their wing).


Re: Per popular demand, here are Adam D Ruppe's presentation slides

2014-05-26 Thread Adam D. Ruppe via Digitalmars-d-announce

On Sunday, 25 May 2014 at 05:18:39 UTC, Nick Sabalausky wrote:

Similarly, mixed cussing is golly good f**king fun.


heh yeah, but I've been trying to quit cussing entirely. Which is 
harder than you might think, even though I didn't even go that 
wild with it before, it is still a bit of a habit to sprinkle in 
some random f-bombs just to set the mood or something.


And quitting makes singing along with the angry video game nerd 
theme song difficult :P


(I really do like to deliberately use outdated slang, and the 
more deadpan the better.)


dats da bomb yo


Re: Per popular demand, here are Adam D Ruppe's presentation slides

2014-05-26 Thread Adam D. Ruppe via Digitalmars-d-announce

On Tuesday, 27 May 2014 at 01:42:27 UTC, Adam D. Ruppe wrote:

heh yeah, but I've been trying to quit cussing entirely.


oh a fun addendum to this, I told a friend of mine (whom I 
haven't actually known that long) that I was trying to quit, and 
she was incredulous that I even swore at all. She said I can't 
picture you swearing... there's a whole other side to you!


Of course, I think /today/ was the fourth time she's ever 
seen me not wearing a tie of some sort too. She knows me as the 
proper Mormon, if a bit lighthearted, but I can come across as an 
angry, homophobic sailor when playing shooters online.




BTW that's one thing about in-person conferences that is kinda 
meta-fascinating too, seeing people rather than just email text. 
Even if I knew what some of you look and sound like from previous 
videos or pictures, it was still a bit of a surprise to meet 
there. Of course, at the same time, while I'm fairly talkative 
and even a little forward on emails, in person I tend to prefer 
to just hide in a corner until someone approaches me, but even 
then just kinda slinker off and go back to hiding before long 
so yeah.


Re: Per popular demand, here are Adam D Ruppe's presentation slides

2014-05-26 Thread Nick Sabalausky via Digitalmars-d-announce

On 5/26/2014 9:57 PM, Adam D. Ruppe wrote:

On Tuesday, 27 May 2014 at 01:42:27 UTC, Adam D. Ruppe wrote:

heh yeah, but I've been trying to quit cussing entirely.


oh a fun addendum to this, I told a friend of mine (whom I haven't
actually known that long) that I was trying to quit, and she was
incredulous that I even swore at all. She said I can't picture you
swearing... there's a whole other side to you!



Similar story here: I've never been one to shy away from swearing (not 
that I normally seek it out just for the heck of it or anything - though 
some might might that surprising g), but back in high school it seemed 
like *every* time I'd swear, there was always somebody around who'd get 
a deer-in-the-headlights look on their face and say Nick! I've never 
heard you swear before!


My mental-only response was always Uhh, you must not have heard me talk 
much before... ;)  Which was probably quite likely, mainly since...




BTW that's one thing about in-person conferences that is kinda
meta-fascinating too, seeing people rather than just email text. Even if
I knew what some of you look and sound like from previous videos or
pictures, it was still a bit of a surprise to meet there. Of course, at
the same time, while I'm fairly talkative and even a little forward on
emails, in person I tend to prefer to just hide in a corner until
someone approaches me, but even then just kinda slinker off and go back
to hiding before long so yeah.


Yea, same here. I can be a regular chatterbox in this NG, but in person 
I've always tended to be very quiet. Used to be *really* shy for a long 
time. Not quite so much now (HS and college developed a rebellious fuck 
this shit/just don't give a rat's ass ballsy streak in me), but I 
still tend toward the quiet and socially-awkward side whenever I'm not 
around people I already know really well.


I always chalked it up to the whole nerd thing: Inverse relationship 
in outgoingness between in-person vs semi-anonymous. (Although I'm 
probably closer to otaku nerd than taped-glasses nerd, FWIW). That, 
and on-the-fly comms is more difficult than prep first then send anyway.




Re: Per popular demand, here are Adam D Ruppe's presentation slides

2014-05-24 Thread Tolga Cakiroglu via Digitalmars-d-announce

On Friday, 23 May 2014 at 23:56:39 UTC, Adam D. Ruppe wrote:

On Friday, 23 May 2014 at 19:59:23 UTC, Mattcoder wrote:
Hehe, I'm just imagining what Walter will say: Lack of 
images!


Heh, I actually went through a few idea stages here:

1) I'd list the druntime functions. I determined this to be 
boring and subject to change anyway. But I spent like a month 
without better ideas and it was too boring for me to even do... 
so yeah nothing got done.

...


I liked your presentation as well. When you started talking about 
writing your Floppy Disk driver for your kernel without using 
BIOS or DOS, I remembered my 11 years ago days. Wish there was 
more time and you could continue.





Re: Per popular demand, here are Adam D Ruppe's presentation slides

2014-05-24 Thread Adam D. Ruppe via Digitalmars-d-announce

On Saturday, 24 May 2014 at 18:12:40 UTC, Tolga Cakiroglu wrote:

When you started talking about writing your Floppy Disk
driver for your kernel without using BIOS or DOS,


Aye, programming on DOS was cool (and of course, so was 
programming without DOS too!)


It is actually frustrating to know what the hardware can do then 
being limited by some abstraction or emulation that does less. 
This is why doing terminal work on Linux annoys me: the VT100 
emulation is so much less capable than the plain old VGA 
hardware (or the X11 protocol, of course).


That's one reason why I started making my own terminal emulator 
https://github.com/adamdruppe/terminal-emulator so I can do 
custom extensions to get some of this back. Key up notifications, 
easy output when jumping around, etc. Of course, my terminal.d 
library, like ncurses, can do a lot of that too, there's still 
the annoying underlying limitations that really don't have to be 
there.


And good old mode 13h!


But yeah, the floppy disk drive is fun too and doing that driver 
was something I played with a long time ago with 16 bit code, now 
that was something painful to get right too! Resetting and 
aligning the motor, etc., fun.


Like I alluded to at the end though, my favorite part is the 
noise the drives make :) Real computers are noisy!


Re: Per popular demand, here are Adam D Ruppe's presentation slides

2014-05-24 Thread Adam D. Ruppe via Digitalmars-d-announce

On Saturday, 24 May 2014 at 00:36:31 UTC, John wrote:

I wish there was more time available.


My poor throat was getting dry near the end anyway...

But I was kinda worried that I was getting too negative at times. 
My theme was supposed to be encouraging, go ahead and try it, and 
instead I started complaining about triple faults and ugly code. 
But oh well, the agony of defeat contributes to the thrill of 
victory after you finally make it work!



And btw, you were looking great too! :)


thanks! Part of that was that I wanted to be deliberately 
counter-culture. I almost never see anyone in these tech videos 
wearing a tie, and while in the facebook building I think I was 
the only one there too.


(the irony, a conservative business suit is my anti-authoritarian 
apparel lolololol)



Of course, that's not the /only/ reason I wore it, but it was a 
nice bonus.


Re: Per popular demand, here are Adam D Ruppe's presentation slides

2014-05-24 Thread Adam D. Ruppe via Digitalmars-d-announce

On Saturday, 24 May 2014 at 20:46:30 UTC, sclytrack wrote:

Were there actual slides?


Nope, I never actually got around to creating any.

I just had an outline on my desktop of stuff I was thinking about 
creating, but just didn't finish it. The paper was my recreation 
of that outline from memory.




Here's the outline.txt stuff I didn't mention on the paper btw:

* Replacing functions with the linker

* Reflection: Using RTInfo's lint to enforce ownership rules 
(e.g. make it a compile time error to define a struct with a 
mutable slice. This has a few pros and a lot of cons.)


* Doing a custom calling convention with naked functions and 
mixins


* Talk about ABI details and the implementation of scope 
statements (e.g. scope(exit). I briefly talked about it being 
lowered to finally {} but didn't go into the asm like I was 
considering


* The -betterC switch and what I want more from it.



Otherwise, my memory was pretty decent for remembering what I had 
in mind! Then my random on-the-spot digressions padded out the 
time.


Re: Per popular demand, here are Adam D Ruppe's presentation slides

2014-05-24 Thread sclytrack via Digitalmars-d-announce

On Saturday, 24 May 2014 at 20:53:18 UTC, Adam D. Ruppe wrote:

On Saturday, 24 May 2014 at 20:46:30 UTC, sclytrack wrote:

Were there actual slides?


Nope, I never actually got around to creating any.



Okay, busy guy.



I just had an outline on my desktop of stuff I was thinking 
about creating, but just didn't finish it. The paper was my 
recreation of that outline from memory.




Here's the outline.txt stuff I didn't mention on the paper btw:

* Replacing functions with the linker

* Reflection: Using RTInfo's lint to enforce ownership rules 
(e.g. make it a compile time error to define a struct with a 
mutable slice. This has a few pros and a lot of cons.)


* Doing a custom calling convention with naked functions and 
mixins


* Talk about ABI details and the implementation of scope 
statements (e.g. scope(exit). I briefly talked about it being 
lowered to finally {} but didn't go into the asm like I was 
considering


* The -betterC switch and what I want more from it.



Otherwise, my memory was pretty decent for remembering what I 
had in mind! Then my random on-the-spot digressions padded out 
the time.


I would have preferred slides though. I'm not so good at 
listening. The visual impact helps ME better at remembering. 
Yeah, your memory is fine.



:-)



Re: Per popular demand, here are Adam D Ruppe's presentation slides

2014-05-24 Thread Nick Sabalausky via Digitalmars-d-announce

On 5/24/2014 3:49 PM, Adam D. Ruppe wrote:


thanks! Part of that was that I wanted to be deliberately
counter-culture. I almost never see anyone in these tech videos wearing
a tie, and while in the facebook building I think I was the only one
there too.

(the irony, a conservative business suit is my anti-authoritarian
apparel lolololol)



It seems a very Talking Heads irony, I like it :)



Re: Per popular demand, here are Adam D Ruppe's presentation slides

2014-05-24 Thread Adam D. Ruppe via Digitalmars-d-announce

On Saturday, 24 May 2014 at 21:01:13 UTC, sclytrack wrote:
I would have preferred slides though. I'm not so good at 
listening. The visual impact helps ME better at remembering.


Yea, they were on my todo list, I was just too lazy and/or 
distracted to do it. But I'm not sure they would have been really 
informational anyway; I think a talk is a terrible way to deliver 
information and one of the reasons I was stalled/procrastinating 
on this is I didn't have a good solution to that problem. If I 
want to deliver info, I'd prefer to do it in writing such as 
emails, blogs or traditional code documentation.


(The best idea I had to work around this deficiency was to script 
it ahead of time with supporting photographs or occasional data 
tables to give you an associated image to remember the concept, 
and post the script along with any supporting material to the 
'net later. But I didn't know how many words would fit in an hour 
and writing a script is a pain anyway so my laziness kicked in.)


But ultimately, I decided my primary goal wasn't to deliver 
information but to instead sell a feeling so you might be stirred 
to try some new things on your own.


Re: Per popular demand, here are Adam D Ruppe's presentation slides

2014-05-24 Thread Nick Sabalausky via Digitalmars-d-announce

On 5/24/2014 3:41 PM, Adam D. Ruppe wrote:


And good old mode 13h!



Real programmers used Mode X!

(I mainly used 13h though ;) )



Re: Per popular demand, here are Adam D Ruppe's presentation slides

2014-05-24 Thread Adam D. Ruppe via Digitalmars-d-announce

On Saturday, 24 May 2014 at 23:47:58 UTC, Nick Sabalausky wrote:

Real programmers used Mode X!


Yea! ...I never really got into it tho and kept going back to 13 
for the plain simplicity.


Re: Per popular demand, here are Adam D Ruppe's presentation slides

2014-05-24 Thread Nick Sabalausky via Digitalmars-d-announce

On 5/24/2014 3:49 PM, Adam D. Ruppe wrote:


thanks! Part of that was that I wanted to be deliberately
counter-culture. I almost never see anyone in these tech videos wearing
a tie, and while in the facebook building I think I was the only one
there too.

(the irony, a conservative business suit is my anti-authoritarian
apparel lolololol)



My favorite way to be counter-culture is to use slang terms in 
unexpected contexts. Like using a meme to make a point on a very 
technical topic. Or more commonly, well gee, I think deadpan delivery of 
anachronistic slang is just swell, dawg. Bonus pizzoints for mixing all 
those swingin' tubular eras...I really can dig that (Again, deadpan 
delivery be paramount). Or concocting me up some pluralities of 
formalism levels. Similarly, mixed cussing is golly good f**king fun.


Word.

(I really do like to deliberately use outdated slang, and the more 
deadpan the better.)




Re: Per popular demand, here are Adam D Ruppe's presentation slides

2014-05-24 Thread Nick Sabalausky via Digitalmars-d-announce

On 5/25/2014 1:18 AM, Nick Sabalausky wrote:


Similarly, mixed cussing is golly...



s/golly/jolly/

Ugh...



Per popular demand, here are Adam D Ruppe's presentation slides

2014-05-23 Thread Andrei Alexandrescu via Digitalmars-d-announce

Adam graciously shared the slides of his DConf 2014 talk with us:

http://imgur.com/hHCN3OL


Andrei


Re: Per popular demand, here are Adam D Ruppe's presentation slides

2014-05-23 Thread Mattcoder via Digitalmars-d-announce

On Friday, 23 May 2014 at 19:29:12 UTC, Andrei Alexandrescu wrote:
Adam graciously shared the slides of his DConf 2014 talk with 
us:


http://imgur.com/hHCN3OL


Andrei


Hehe, I'm just imagining what Walter will say: Lack of images!

Matheus.



Re: Per popular demand, here are Adam D Ruppe's presentation slides

2014-05-23 Thread Piotrek via Digitalmars-d-announce

On Friday, 23 May 2014 at 19:29:12 UTC, Andrei Alexandrescu wrote:
Adam graciously shared the slides of his DConf 2014 talk with 
us:


http://imgur.com/hHCN3OL


Andrei


I didn't know zipped pesentasion file can be still readable ;)


Re: Per popular demand, here are Adam D Ruppe's presentation slides

2014-05-23 Thread Steven Schveighoffer via Digitalmars-d-announce
On Fri, 23 May 2014 12:29:12 -0700, Andrei Alexandrescu  
seewebsiteforem...@erdani.org wrote:



Adam graciously shared the slides of his DConf 2014 talk with us:

http://imgur.com/hHCN3OL


Oh cool! finally the conference-goers can see the slides :)

-Steve


Re: Per popular demand, here are Adam D Ruppe's presentation slides

2014-05-23 Thread Gary Willoughby via Digitalmars-d-announce

On Friday, 23 May 2014 at 19:29:12 UTC, Andrei Alexandrescu wrote:
Adam graciously shared the slides of his DConf 2014 talk with 
us:


http://imgur.com/hHCN3OL


Andrei


Ha, I really liked his talk :)


Re: Per popular demand, here are Adam D Ruppe's presentation slides

2014-05-23 Thread Adam D. Ruppe via Digitalmars-d-announce
You can see some margin notes I added this morning about stuff I 
was thinking about saying to fill time!


For example, being willing to experiment helps with speed, like 
Walter said. It also applies here: disassemblies might be scary 
the first time, but if you dive into it and see about toying with 
it, just tinker, guess and check your way to better benchmarks... 
you'll probably find success before too long.


And the key point with the just try it gnashing of teeth note 
is that you really don't have much to lose! Except time perhaps, 
but once you've done it a few times you'll be able to find 
shortcuts. And besides put a time limit on yourself to make sure 
you don't waste your whole life and you'll be ok.


LOL up top I called myself a web/dynamic god. See what I said 
about my ego? I praise me even in notes to self!


Up top, I made a note to self after Don's talk, where he talked 
about getting serious with industrial use. Well, I say back to 
fun... but at the same time, knowing the whole library is useful. 
Not only is it good to know the underlying stack when 
abstractions start leaking, but there's actually practical 
applications to playing with the runtime:


1) Special performance or size requirements (Sociomantic, I think 
Mike Parker did that for some games too, or embedded stuff)


2) Organization-wide lint kind of stuff. You can use a custom 
object.d for RTInfo for example to do checks and not worry about 
third-party integration so much because you are only interested 
in works for me without the hassle of redistribution.


3) Running D in places like a platform that only has a C compiler 
or maybe converting to JavaScript (that's how I started this, it 
was dtojs forked off Daniel Murphy's D-C converter that first 
got me playing without the runtime) might find use of these 
functions being implemented differently or ignored.



So while I still tend to say half the stuff I mentioned there is 
useless info, the general idea of being willing to play with it 
might not be - you never know when one of these random ideas will 
work out.



* * *

Two other margin notes that came up during the conference: Walter 
mentioned UFCS with the first argument as the this thing 
but when you do a method on a struct, the this reference is 
actually passed as a (hidden) last argument! So I just lol'd a 
bit at it not being quite so uniform.



The other one is moving the language to object.d. For example, 
some of the chatter after Don's talk was about size_t being 
unsigned. So annoying! I think it would be kinda nice if that 
could actually be redefined somehow. I've also talked before 
about how it might be cool to to alias int = __int; to use 
builtin ints or int = RangedChecked!(0, 100); to make the int 
type behave differently in the case of that custom runtime.


To my surprise though, I ran out of time and even had to cut some 
questions short :( Oh well, y'all can always find me here.




PS sorry I had to run out early today during the lightning talks! 
My ride back to the airport was already there, they wanted to 
avoid rush hour traffic.


Re: Per popular demand, here are Adam D Ruppe's presentation slides

2014-05-23 Thread Adam D. Ruppe via Digitalmars-d-announce

On Friday, 23 May 2014 at 19:59:23 UTC, Mattcoder wrote:

Hehe, I'm just imagining what Walter will say: Lack of images!


Heh, I actually went through a few idea stages here:

1) I'd list the druntime functions. I determined this to be 
boring and subject to change anyway. But I spent like a month 
without better ideas and it was too boring for me to even do... 
so yeah nothing got done.


2) I'd write a little bare metal program to use as the slide show 
that demonstrates various language features and highlights their 
source code with animations and responses to timers and keyboard 
input. The slides would then be the source to that program.


Probably would have been cool, but I never found the time to 
actually write it. (I wrote the foundation for it, the timer 
interrupt handler, the text video output, the bulk of D 
working... but the program itself just kept being put off in 
favor of other things)


3) Then, a big breakthrough happened: I had that day with the 
friends walking on that bridge guard rail. (BTW it wasn't 
actually 50 miles high, but it is no exaggeration that I was 
terrified for the guy who walked all the way across it. One other 
person there walked across part, but she had the good sense to 
get back on the regular road once we got over the water. But the 
one guy is a madman, a madman!)


That got me thinking about cost/benefit with experimentation and 
I realized that story made a good contrast with the test.d files 
I make so often and the talk plan changed.



At this point, my plan was to get a handful of photographs to 
illustrate each concept... but again, things just kept coming up. 
Last week, I decided to stop stressing over it and just accept 
that I was going to be unprepared. (Which actually worked out 
well enough for me in church last month when I got a literally 
last minute request to substitute teach there and it went ok for 
everybody but my armpits lol. But if I can fill an hour 
improvising a reasonably productive discussion on faith and 
prophets, surely I can do it about D.)


Anyway, by moving the goalposts from nice visual presentation 
to I'll improvise it live!, I went from worrying about being 
unprepared to being content with just knowing the big idea and 
let my mind go back to other things.


That said, I didn't want to improvise *everything* because I had 
an experience back in the 5th grade that taught me otherwise. The 
science teacher gave me a chance to do a planetarium 
presentation. I knew how to work the projection machine and knew 
a little bit of material, but I didn't actually have even a 
lesson outline prepared and I leaned HEAVILY on the teacher to 
bail me out.


However, before I knew it, it was already May 22, I was in 
California, and firewalled out of my desktop computer. So I did 
the next best thing: got out my notebook and pen and scribbled 
down a page of topics to touch.


I expected to have to open the floor to questions after like 20 
minutes and spend the rest of the time just talking with people, 
but to my surprise, it filled the whole hour. (Actually, that 
shouldn't be so surprising, just Monday night I spent an hour 
talking with a couple friends about half a page of notes. But 
that's a totally different audience and a totally different set 
of topics so I wasn't sure it would pad out the same way.)



Regardless, it was pretty ok, if a bit wandering at times. Could 
have been a lot worse.




BTW re the last cool stuff header note, here's the code I 
slapped together to demo that idea:


import std.stdio;

align(1)
struct foo {
//align(16):
   ubyte c;
   ushort d;
   uint b;
   ushort a;
}

pragma(msg, diagram!foo);

string diagram(T)() {
import std.string, std.conv;
string ret;
T t;
int offset = 0;
foreach(idx, item; t.tupleof) {
int off = t.tupleof[idx].offsetof;
int size = t.tupleof[idx].sizeof;

if(off  offset) {
   // padding
   foreach(i; 0 .. off-offset)
 ret ~= format( internal padding\n);
   offset += off-offset;
}

foreach(i; 0 .. size)
   ret ~= format( %s\n, t.tupleof[idx].stringof[2..$]);

offset += size;
}

 foreach(i; 0 .. T.sizeof-offset)
ret ~= format( struct padding to %d\n, T.sizeof);

return ret;
}


Of course, I ultimately used my fingers as bytes but here you can 
play with it a bit more and see different combinations as to 
struct layout so have some fun with it!