Fork me on GitHub
#boot
<
2015-07-15
>
danielsz01:07:50

good! it's been a while...

danielsz01:07:03

I've been busy.

danielsz01:07:25

what did i miss?

danielsz01:07:08

how are you?

micha01:07:26

can't complain, how's everything going?

danielsz01:07:00

I had this weird thing happening to me. My macbook was starting to crash in a most sensational way. Like it would hang, and then there would be no readable filesystem on reboot.

danielsz01:07:31

I would restore from a backup, and then everything was good again

danielsz01:07:35

for some time

danielsz01:07:40

Like two weeks

danielsz01:07:44

then one week

danielsz01:07:07

every time, same story, a crash, and no readable hard drive

danielsz01:07:26

In the beginning, I didn't understand what was failing

danielsz01:07:51

was it the SSD? what is the RAM? was it a logic board failure?

danielsz01:07:22

Now it was happening everyday

danielsz01:07:55

so i ran a memtest

danielsz01:07:10

And I let it run for a whole night

danielsz01:07:48

It had found a failing region, 160MB of contiguous region

danielsz01:07:53

I was really pissed because it's a new laptop that I like a lot

danielsz01:07:02

RAM is soldered

danielsz01:07:21

The lab would charge me for a whole logic board

danielsz01:07:38

then I read that on linux you can mark bad RAM in the kernel

danielsz01:07:54

and just run the system like normal

danielsz01:07:08

so I thought, yeah, that's what I need

danielsz01:07:49

Only problem is that Mac OS X doesn't have that.

danielsz01:07:23

So I installed GNU/Linux on my macbook, used the memmap option on the kernel, and things work great

danielsz01:07:49

I lost 160MB of RAM, but for the rest it's business as usual

alandipert01:07:51

the escalator became stairs

alandipert01:07:04

that's sweet about linux, did not know

danielsz01:07:15

alandipert: haha, it sounds funny but I didn't get it

alandipert01:07:40

oh, it's a mitch hedberg joke - about what the sign on a broken escalator says

alandipert01:07:48

"escalator is temporarily stairs"

danielsz01:07:43

Mac OS X became GNU/Linux

danielsz01:07:54

Or in other words XNU became GNU

danielsz01:07:50

I'm still not completely satisfied, there is so much tuning needed on a laptop for linux

danielsz01:07:59

like the touchpad

danielsz01:07:07

nowhere near as smoot as Mac os x

alandipert01:07:16

that's easily the worst thing about laptop linux afaict

alandipert01:07:21

the touchpad situation

danielsz01:07:50

oh, so it's not just me

alandipert01:07:17

one of my favorite things about my older-model thinkpad is the small touchpad

alandipert01:07:48

(and the nub)

alandipert01:07:06

which distribution did you go with?

danielsz01:07:25

I went with ubuntu

danielsz01:07:35

figured support would be decent

danielsz01:07:40

was i wrong?

alandipert01:07:21

i imagine so, but it's been awhile since i considered running linux on mac hardware

alandipert01:07:48

2-3 years ago when i last investigated seriously i was pleasantly surprised by how much documentation they had around doing it

danielsz01:07:53

yeah, but the problem is that you never know what release the doc you found and read is applying to

danielsz01:07:01

it's horrible

danielsz01:07:25

I was told that the Canonical folks use macbooks

danielsz01:07:34

but I'm disappointed

danielsz01:07:43

it's a very fast system

danielsz01:07:48

faster than mac os x

danielsz01:07:53

but not as stable

danielsz01:07:11

suspend/wake not reliable

danielsz01:07:15

stuff like that

danielsz01:07:24

I'd rather not deal with this

danielsz01:07:36

maybe I'll end up buying a new laptop

danielsz01:07:48

only there's nothing on the market right now that really excites me

danielsz01:07:18

alandipert: what do you run on your laptop?

alandipert01:07:04

i recently switched to ubuntu gnome from fedora

danielsz01:07:52

interesting. what was the reason for the switch?

alandipert01:07:14

to align myself better with the docker target market

alandipert01:07:00

i have been doing a lot of docker things and i think ubuntu is the distro to be on... most comprehensive stackoverflow answers anyway, afaict

alandipert01:07:21

but, of the linux desktop things i prefer gnome

danielsz01:07:28

interesting

danielsz01:07:35

hey, I've reported a problem I've experienced with bootlaces earlier

danielsz01:07:11

the signing fails, but since only a NullPointerException is thrown, I don't know where to look

danielsz01:07:22

Does it ring any bells?

danielsz01:07:18

I'm using a signing subkey, that should be the problem, right?

alandipert01:07:43

hm, i haven't seen that one

danielsz01:07:35

we're using clj-pgp, right?

mitchelkuijpers08:07:47

@danielsz: Arch linux is also fun 😄

micha13:07:31

danielsz: ping

danielsz14:07:33

micha: pong. simple_smile

danielsz14:07:43

how are you today?

micha14:07:13

the dude abides 😎

danielsz14:07:14

(sounds like a Microsoft ad)

micha14:07:36

i saw your issue re: gpg

danielsz14:07:25

Have I made myself understood?

micha14:07:11

i'm not sure i fully understand

micha14:07:36

the "first key" is only in the default case if you don't specify the key

danielsz14:07:54

no, what you specify is the keyring

micha14:07:55

i don't really see a better default than that

micha14:07:06

you can also specify the recipient, no?

danielsz14:07:06

not the actual signing key

danielsz14:07:18

but that doesn't matter

colin.yates14:07:30

@danielsz: Arch Linux is a great distro if you are happy to get ‘under the covers’ a bit more

danielsz14:07:33

in this context

micha14:07:10

ah i am missing some knowledge here

danielsz14:07:26

I'd love to explain thogh

micha14:07:36

please continue

danielsz14:07:08

the secret keyring is a list of key pairs

danielsz14:07:15

those keypairs are organized by user (email address)

danielsz14:07:32

each user can have multiple key pairs

danielsz14:07:36

if you have a default setup, you're working with the master key pair

danielsz14:07:15

if you have made subkeys, which is recommended, you're working with subkeys

danielsz14:07:29

now every keypair has roles

danielsz14:07:55

typically a key is used for encrypting and for signing

danielsz14:07:46

if you list your keys, you will see the keypairs and their roles

danielsz14:07:10

in a default setup, with the master keys, you should see two keys pairs,

danielsz14:07:38

one is used for certification and signing, the second is used for encryption

danielsz14:07:59

the second one is actually a subkey, generated automatically

danielsz14:07:06

the first one is the signing key

danielsz14:07:26

but that is not the recommended setup

danielsz14:07:48

the recommended setup is to delete the master key pair after having generated a signing subkey

danielsz14:07:09

that gives you all sorts of advantages

danielsz14:07:29

pertaining to key management, security, revocation, identity theft etc

danielsz14:07:40

so if you do what is recommended

danielsz14:07:56

when you list your keys, you will have only subkeys

micha14:07:12

but each one has a unique id, right

danielsz14:07:16

typically, one subkey for signing, one subkey for encryption

danielsz14:07:41

that's the thing: you need to pass the id of the signing key, not the secring.pgp

micha14:07:55

and you can't use the --gpg-user-id FC88D1 option to the push task?

danielsz15:07:22

user id is the label to which the keys are arranged under

micha15:07:47

so we want to use the unique id instead of the user id

micha15:07:54

is that what you mean?

micha15:07:06

i mean you still need to specify the keyring

danielsz15:07:11

Yes, exactly, you need the id of the signing key. But I have an idea for redesigning the whole thing.

micha15:07:28

you might have multiple keyrings or a nonstandard setup or something

danielsz15:07:41

The way I envision it, you don't need the keyring unless you are not using the default

danielsz15:07:47

this is 1% of the cases

micha15:07:27

~/.gnupg/secring.gpg

danielsz15:07:36

OK, so we need an environment variable that will enable users to point to an alternate secring, for everybody else, we go for the default

danielsz15:07:52

$HOME/.gnupg/secring.pgp

micha15:07:06

why not the --gpg-keyring option?

danielsz15:07:33

I'm just saying that you didn't need in the signatures of sign-jar, or in the gpg.edn

micha15:07:07

also i think we might want to incorporate boot-environ into boot core

danielsz15:07:30

we can simplify everything by removing the options in the API signatures, and create two ENV variables

micha15:07:45

ok i am believing

danielsz15:07:52

Oh, boot-environ is now part of environ.

danielsz15:07:12

I forgot to tell you

danielsz15:07:21

It's actually good news

micha15:07:25

you mean we don't need the boot task anymore?

micha15:07:05

sorry we just switched some things over to use boot-environ yesterday at adzerk

danielsz15:07:19

No that's great!

micha15:07:21

but i wasn't working on that part

danielsz15:07:49

it doesn' matter really, the boot-environ taks has been accepted in the mother project, environ, but I still keep a separate repo.

danielsz15:07:26

In my repo there is an additonal option that James didn't want, but the base implementation is the same

danielsz15:07:10

Am I making sense?

danielsz15:07:33

Regarding the PGP thing, out of the top of your head, what tasks besides the push task call sign-jar?

micha15:07:44

none that i know of

micha15:07:53

signing should be a separate task i think

danielsz15:07:48

Will you be interested in a pull request? I think I know how to redesign the whole thing. But I wouldn't want to step on anyone's toes, and I also would need a little bit of guidance, probably.

micha15:07:20

sure we can queue it up for 3.0.0 if it involves breaking changes

micha15:07:14

i think as long as we maintain semantic versioning as much as possible we can make major releases without causing much strife

danielsz15:07:14

what is the namespace where you define environment variables?

micha15:07:24

how do you mean define?

micha15:07:30

like where we look at them?

micha15:07:40

yeah there isn't a single place

micha15:07:44

there probably should be

danielsz15:07:59

no problem. Makes it easier for me.

micha15:07:00

in boot.pod perhaps

micha15:07:07

because boot.pod is available anywhere

micha15:07:41

i'm thinking that having environ in boot itself would smooth things for tasks

danielsz15:07:46

So for now you just read directly with System/environment?

micha15:07:48

like tasks can use environ

micha15:07:37

projects could use their own environment thing, no problem

micha15:07:05

if they want to

danielsz15:07:47

boot-environ reads from the environment or from properties files and puts everything in a map on the application-level. This introduces an abstraction layer and the advantages/disadvantages associated with it.

danielsz15:07:37

I am not sure you need in boot-clj.

micha15:07:58

the advantage would be that you could update it at runtime

danielsz15:07:02

We use it mainly to separate development/production modes

micha15:07:03

via system properties

danielsz15:07:18

Sure, it probably would work

micha15:07:57

it's unfortunate that you can't set env vars in the jvm

micha15:07:01

not portably anyway

micha15:07:04

you need hacks

micha15:07:37

so i was thinking a layer of abstraction would be useful there

micha15:07:44

that does support runtime modification somehow

danielsz15:07:47

Yes, that is a use case indeed

micha15:07:43

also the env file is nice because there are some situations where you can't set env vars at all

micha15:07:58

not good places to be, but i'm sure there are situations

danielsz15:07:41

yeah, I cringe to be honest simple_smile

danielsz15:07:07

Hey, you know this duplicates that you asked to close. It happened to me yesterday.

danielsz15:07:15

And I didn't do it.

danielsz15:07:24

But I think I know why it happens

danielsz15:07:47

I noticed that my touchpad on my ubuntified macbook is super-sensitive

danielsz15:07:10

And I think that when I press submit, it sends it twice

micha15:07:12

osx does have good trackpad drivers, i'll give them that

danielsz15:07:24

it's an interesting bug

micha15:07:29

that huge trackpad probably is terrible on linux

danielsz15:07:37

because it's github responsibility to not save twice

danielsz15:07:59

but I haven't spent the time to configure it

micha15:07:08

my x250 has a not entirely huge trackpad, but i still need to disable it or i touch it while i'm typing

danielsz15:07:19

I hate wasting time on things like that, but I'll probably will have to

micha15:07:21

luckily i have the awesome trackpoint

micha15:07:36

so i just completely disable the trackpad with a fn key

danielsz15:07:46

Oh, really, even the thinkpad doesn't have better drivers?

danielsz15:07:59

you're using the nub only?

micha15:07:05

i'm using ubuntu with a 3.X.X kernel

micha15:07:24

if i don't disable the trackpad i can't type in a thing that listens to the mouse

micha15:07:42

the cursor teleports randomly all the time

micha15:07:02

i tried palm detection and whatnot

micha15:07:08

and disable while typing

micha15:07:12

but maybe i type too slow

danielsz15:07:06

it's not you, I mean nobody complains on Mac OS X. It makes you appreciate their efforts in refining the human machine interface

danielsz15:07:29

they even came up with an innovation

danielsz15:07:34

Forcetouch or something

danielsz15:07:46

which I'm not sure what it does

micha15:07:49

haha that sounds illegal

micha15:07:57

or at least frowned upon these days

micha15:07:15

"keep that guy away from the padowans"

micha15:07:40

anyway the gpg stuff sounds great

micha15:07:02

bonus if we can do it without breaking the current broken behavior simple_smile

danielsz15:07:18

haha, yeah I hadn't seen that aspect of it, now you're mentioning I won't be able to forget it

danielsz15:07:33

Sure, I'll try to tackle the PGP without breaking too much asap

micha15:07:08

also if you want to add gpg encrypt/decrypt support to boot.pgp that would be awesome too 😉

micha15:07:20

i mean if you feel like it

danielsz15:07:53

sure. What will be the typical use case?

micha15:07:12

like encrypted data files used by tasks

danielsz15:07:37

OK, very cool

danielsz15:07:00

I'll see what I can do. It sounds like fun.

micha15:07:49

it would be interesting to be able to have encrypted resources in jars that boot would decrypt for you, perhaps

danielsz15:07:59

Right. Absolutely.

danielsz15:07:42

Oh, sweet! Thank you @colin.yates

colin.yates15:07:14

np. Ironically I came to the Mac from Linux because I couldn’t stop myself messing around with this stuff and wanted something that just works 😉

colin.yates15:07:11

there is also Arch’s excellent documentation (even if you use Ubuntu etc.): https://wiki.archlinux.org/index.php/MacBook

danielsz16:07:27

Yeah, it is ironical. I would switch back in a heartbeat as well. I'll try to make the most of this turn of events. Maybe I should give StumpMW a try. I've always fancied the idea of having a Lisp runtime managing windows, with all the REPL goodness that comes with it. We'll see how that works out.

colin.yates16:07:36

have you tried tiling window managers (xmonad, i3 etc.?) If you can get used to them they rock.

colin.yates16:07:21

ah I see StumpWM is a tiling manager - in Lisp - nice

gtrak16:07:24

i3 took about 30 minutes to set up and a day or so to get used to, i'm syncing my configs across linux boxes now.

colin.yates16:07:18

I started with XMonad, spent a bunch of time getting it working for floating windows (skype etc.), never quite managed it, installed i3 and 10 minutes later I was flying.

gtrak16:07:22

it really helps keep flow when doing frontend work and switching a lot

colin.yates16:07:27

(kinda like emacs -> Cursive ;-))

gtrak16:07:51

i only mouse for chrome simple_smile

colin.yates16:07:54

I even tried to live with the emacs www browser simple_smile, terminal PDF reader etc. It wasn’t great

gtrak16:07:23

i only wish I could easily get emacs integrated with it

gtrak16:07:42

there are some projects to force splits as frames but i don't know if it's worth it

colin.yates16:07:53

you can go crazy with this stuff, particularly if you then throw in screen or tmux - talk about yak shaving. I do still see the occasional Youtube video of some school kid who has optimised the heck out of their environment and feel a bit jealous. But then I embrace the mouse and get on with real work. Too old for this stuff now

colin.yates16:07:36

the other thing I did find though was that moving to the macbook pro with the touchpad was far more efficient than a traditional mouse. I would be lost without my three finger swiping between spaces etc.

colin.yates16:07:04

(I think we have hijacked this discussion in boot - let’s continue in #C03RZGPG1/#off-topic)

danielsz16:07:57

exactly, that's what I want. I heard people raving for i3.

danielsz16:07:45

Do you have it as an alternate windows manager? Do you run it exclusively or next to a mainstream one, like Gnome or Unity?

danielsz16:07:10

about the topic, switching

juhoteperi18:07:01

Lenovo told be me a T450 update is coming in next few weeks (T450p hopefully \o/)

micha18:07:32

got my 16G memory stick yesterday!

micha18:07:41

need a very tiny screwdriver now lol

juhoteperi18:07:52

Nice. They are selling T450s with 20GB option now.

micha18:07:57

aweosme yeah

juhoteperi18:07:58

(Not on EU though...)

micha18:07:18

the lenovo site has a 1600MHz 16G chip for sale

micha18:07:26

which i didn't see until after i ordered the 1333 one

micha18:07:34

i'm sureit will still rule

juhoteperi18:07:40

Note still quite sure if I even want the p model, it might be 600g heavier than t450s. But quad-core would be nice.

juhoteperi18:07:24

Lol, I can't see all the messages since I last read the channel

crisptrutski18:07:39

is there something like :refer-clojure :exclude for build.boot files?

crisptrutski18:07:03

for removing noise when natural task names clobber more exotic clojure builtins

alandipert18:07:33

@crisptrutski: you could use ns-unmap to do it dynamically

crisptrutski18:07:25

thanks your bootiness 🥥 simple_smile

alandipert18:07:44

hehe no prob boot-clj