<ELLIOTTCABLE>
so, lessee, what was I saying when I dumped soda all over my laptop
<ELLIOTTCABLE>
omfg it's sticky D:
<ELLIOTTCABLE>
Noooooo
<ELLIOTTCABLE>
FUCK
<devyn>
you're lucky you didn't short anything
<ELLIOTTCABLE>
me.
<ELLIOTTCABLE>
never had that happen.
<ELLIOTTCABLE>
spilled liquids on electronics hundreds of times in my life. never once had any actual damage to the electronics in question.
<devyn>
I spilled water on my MacBook and shorted the MagSafe adapter
<ELLIOTTCABLE>
consumer electronics are *way* more water-resistant than people think.
<devyn>
thankfully that was all
<devyn>
but they had to replace the whole body
<ELLIOTTCABLE>
anyway, so, thingsnstuff
<ELLIOTTCABLE>
reading that page makes me not want to Rust. |=
<ELLIOTTCABLE>
partially 'cuz cloud head.
<ELLIOTTCABLE>
cloudhead*
<ELLIOTTCABLE>
anyway
<ELLIOTTCABLE>
important thing to remember, devyn:
<ELLIOTTCABLE>
ownership has nothing to do with concurrency/locking, from the point of view of you (the implementer)
<ELLIOTTCABLE>
all of *your* procedures must already be concurrency-safe, of course, if your implementation is concurrent … but language-level concurrency and access constructs don't help with ownership. Completely unrelated.
<ELLIOTTCABLE>
Helps a lot if you think about ownership as an ordering system (which it is), not a concurrency system.
<devyn>
yes, I know
<devyn>
I'm thinking about a way though
<devyn>
to maybe combine the two
<devyn>
to make it faster?
<ELLIOTTCABLE>
how so?
<devyn>
well, if I just hold references to RWLock guards on the objects
<devyn>
hmm
<devyn>
id
<devyn>
idk*
<devyn>
never mind I guess
<devyn>
did you check out the RWLock thing?
<devyn>
it's a mutex that allows multiple concurrent immutable access
<devyn>
or single mutable access
<oldskirt>
ELLIOTTCABLE: wtf why do you tweet "writing on the web is dead".. what even do you define as "writing on the web"?
<devyn>
I can't get used to your new nick
<devyn>
it's so weird
<devyn>
but
<devyn>
as
<devyn>
wwebsite on the internet
<glowcoil>
ELLIOTTCABLE: i don't like a couple details about that article
<glowcoil>
ELLIOTTCABLE: about higher kinds in rust
<ELLIOTTCABLE>
why?
<ELLIOTTCABLE>
oldskirt: Anything that isn't on Twitter or Facebook, I suppose.
* ELLIOTTCABLE
oldskirt: as for “why,” read my tweet-stream from today.
<oldskirt>
ELLIOTTCABLE: yeah, reading backwards right now
<ELLIOTTCABLE>
FUCKING FUCK, IRCCLOUD. ME GRAZING THE ⌘ KEY DOES NOT MEAN I WANT TO /ME MY SENTENCE
<ELLIOTTCABLE>
oldskirt: basically:
<ELLIOTTCABLE>
nobody is able to come up with a *real use-case* for their blogs.
<glowcoil>
he says "i feel like special-case [] for higher kinds is more natural"
<ELLIOTTCABLE>
I was thinking about this, because I can't find a motivation to write a blog-post.
<glowcoil>
which makes *no sense* to me whatsoever
<glowcoil>
how does "different brackets if n > 1" make sense
<ELLIOTTCABLE>
Some people are lucky, and have a ‘grandfathered-in’ followership, who actually waste their lives and time subscribing to that person's writing via e-mail lists or RSS.
<glowcoil>
ELLIOTTCABLE: i didn't know higher kinds were a thing for the longest time using them in haskell
<ELLIOTTCABLE>
But the set of people for who that is true is vanishingly small; and nobody *new* can get into that group. That group is closed, and functionally defunct.
<glowcoil>
ELLIOTTCABLE: because haskell just has functions on the type level
<glowcoil>
ELLIOTTCABLE: so it's not just syntactic, it shows he has an unnatural weird separation in his head
<ELLIOTTCABLE>
For somebody wishing to start writing for an audience in today's world, just starting a block and exposing RSS is not a serious option.
<ELLIOTTCABLE>
You can:
<oldskirt>
ELLIOTTCABLE: hmm but the size constraints of twitter/reddit etc + linkability with good URLs necessitates some site that you control, doesn't it?
<ELLIOTTCABLE>
- Write content somewhere/anywhere, and link to that from your Twitter, if you have a Twitter following
<ELLIOTTCABLE>
EYS
<ELLIOTTCABLE>
YES*
<ELLIOTTCABLE>
Exactly my argument.
<oldskirt>
so yeah, a blog is exactly that
<ELLIOTTCABLE>
“Blogging” in 2014 is self-hosted Twitlonger, and nothing more.
<ELLIOTTCABLE>
And that's absurd to me.
<oldskirt>
ah
<ELLIOTTCABLE>
anyway. not something I want to talk about in IRC.
<ELLIOTTCABLE>
-didja @ oldskirt
<purr>
oldskirt: didja write a paws yet? didja? didja!?
<oldskirt>
yeah it's definitely not the "blogging" of 2006 anymore
<ELLIOTTCABLE>
not my point
<ELLIOTTCABLE>
blogging has always been dumb
<oldskirt>
hahaha
<oldskirt>
kind of
<ELLIOTTCABLE>
but *writing, period* is basically defunct; and that's really disgusting
<glowcoil>
ugh scratch on my screen
<ELLIOTTCABLE>
I don't have a lot of hope for shit like Medium.
<ELLIOTTCABLE>
You can't Twitter-ify writing, because writing *already exists*. No single service can absorb enough of the …
<ELLIOTTCABLE>
nope done
<ELLIOTTCABLE>
anyway
<ELLIOTTCABLE>
glowcoil: Help.
<ELLIOTTCABLE>
and devyn.
<oldskirt>
lol
<purr>
lol
<glowcoil>
ELLIOTTCABLE:
<ELLIOTTCABLE>
I'm. So. Done.
<ELLIOTTCABLE>
I don't know how to Paws anymore. The design is clearly flawed (which doesn't bother me), and I can't fix those flaws without more people being interested than currently are (which does.) I'm tired of banging my head against it.
<ELLIOTTCABLE>
understandably, glowcoil, alexgordon, prophile, inimino, etc, have all moved on, and have better things to do than spend time banging out Paws' design with me; but I failed to do the proper amount of ‘recruiting’ / marketing, and I have nobody to replace them.
* oldskirt
is going to go read paws spec now, nothing better to do I guess
<devyn>
oldskirt: honestly it's not going to make any sense unless you actually try to do it
<ELLIOTTCABLE>
yeah.
<ELLIOTTCABLE>
I made a huge mistake.
<ELLIOTTCABLE>
I tried to follow the pattern of other specifications, since I didn't know how to write one;
<ELLIOTTCABLE>
and I followed **API specifications** like that those for the DOM or CSS; and the point was not to specify an API.
<ELLIOTTCABLE>
That means my spec was waaaaay too tightly-coupled, and not written from the perspective it should be.
<ELLIOTTCABLE>
A language specification shouldn't specify how the advance() algorithm works. ಠ_ಠ
<ELLIOTTCABLE>
anyway.
<ELLIOTTCABLE>
… and as much as I've tried to work on Paws on my own for the last few months, now that I'm a little more fired up to program, it's just been a pointless slog.
<ELLIOTTCABLE>
I can **implement** alone, but I can't design alone.
<ELLIOTTCABLE>
and Paws isn't interesting enough, or I can't *convey* the interestingness well-enough, to make my situation *less* alone.
<ELLIOTTCABLE>
I don't know what to do; or more accurately, I don't *want* to do. I'm pretty tired, and just done.
<ELLIOTTCABLE>
But I don't know what else to do with myself. /=
<oldskirt>
what's the >core idea< behind paws, say on the level of lisp's "everything is a list"?
<ELLIOTTCABLE>
oldskirt: making describing asynchronous operations simple via pervasive CPS ++ improving error-handling with language-level transactions ++ distribution
<glowcoil>
everything's asynchronous/ultimately defined as a dependency graph
<ELLIOTTCABLE>
all on top of the usually-delicious formula of Lua and Lisps: *simple* language, where everything is built on top of a really simple set of core rules.
<ELLIOTTCABLE>
so: I really wish somebody would convey a language design that I like enough, so I could **actually write some code**, implementing somebody *else's* plans.
<ELLIOTTCABLE>
I'm in this place where I'm goddamn tired of trying to ‘lead’ a project. If you haven't noticed, that's reduced to the level of sarcastic -didja's every so often.
<ELLIOTTCABLE>
I want to contribute to something where somebody *else* is responsible for making my contributions continuously meaningful.
<oldskirt>
:) I think if there is not a "real problem" being solved by a project, it's really hard to continue
<ELLIOTTCABLE>
So. I don't see a lot of reason to keep ‘working’ on Paws. The only meaningful ‘work’ I can do is writing code, and the design is too flawed still for writing-code to be a purposeful undertaking.
<ELLIOTTCABLE>
oldskirt: Oh, it's definitely a real problem.
<devyn>
ELLIOTTCABLE: honestly your short description/summary of advance() was more helpful I think
<devyn>
that's the kind of thing that SHOULD be in there
<ELLIOTTCABLE>
at a higher level, without the specifics,
<ELLIOTTCABLE>
Paws is Node as a language.
<devyn>
well
<devyn>
though
<devyn>
it's really just implementation-level
<devyn>
details
<devyn>
so I guess not
<ELLIOTTCABLE>
Node tackles something really important: in the modern world, ease of constructing abstractions over *asynchronous* concepts is far more fucking important than performant execution of map().
<devyn>
the Paws spec as it is now
<devyn>
is basically turning your Paws implementation into words
<devyn>
that's all
<devyn>
it doesn't really describe Paws
<ELLIOTTCABLE>
but it makes the unbelievably huge mistake of tackling that on *top* of a very boring, synchronous, Rut language.
<devyn>
it describes how you've done it
<oldskirt>
ELLIOTTCABLE: but node streams are actually not really that nice an abstraction
<ELLIOTTCABLE>
devyn: yep, I know
<devyn>
still, that's somewhat helpful
<ELLIOTTCABLE>
so. Paws is an environment in which to build the kinds of things that Node is good at building, but where the environment has been designed from the bottom up to be good at that kind of thing.
<ELLIOTTCABLE>
it takes only the *best* things for that purpose from JavaScript (accessible concepts … it's designed to be accessible/familiar to people coming from rutty languages like Ruby and JavaScript itself; … and distribution, an evolution of the JavaScripty benefit of writing the same language on the client and server),
<ELLIOTTCABLE>
and then throws everything else away and focuses on a synchronicity.
<ELLIOTTCABLE>
anyway.
<ELLIOTTCABLE>
devyn: yeah, my problem isn't really the spec.
<devyn>
I think I can fix Paws
<devyn>
if you give me the authority to do so
<devyn>
hehe
<ELLIOTTCABLE>
I mean, I can improve upon that. *If* I keep working on Paws, the next version of the spec will definitely be better. I've learned a lot here.
<oldskirt>
has somebody tried to approach Paws with more formal things like FRP/CCS?
<ELLIOTTCABLE>
It won't be *great*, but it'll be better than this pile of crap.
<ELLIOTTCABLE>
oldskirt: I *hate* functional programming.
<ELLIOTTCABLE>
The single most important design-goal for me is to be *usable*. Approachable. I want to give 5th grade kids a toolkit to build things.
<ELLIOTTCABLE>
fucking Haskell is not that.
<ELLIOTTCABLE>
Rut-y, boring, disgusting, Object Oriented lulzzlzlzlz, procedural languages are that.
<oldskirt>
hm
<oldskirt>
I think it all depends on the presentation
<oldskirt>
land of lisp is super cool
<ELLIOTTCABLE>
disagree.
<ELLIOTTCABLE>
I love it and all
<oldskirt>
so, paws should be a non-functional way of modelling asynchronous things
<oldskirt>
by defining dependency trees for values
<oldskirt>
which is really declarative programming..
<ELLIOTTCABLE>
sorry irl shit happening
<ELLIOTTCABLE>
that's kind of what it is.
<ELLIOTTCABLE>
will explain later. gotta roll.
<oldskirt>
see ya
<ELLIOTTCABLE>
(On phone)
<ELLIOTTCABLE>
glowcoil: teach oldskirt Paws while I deal with all this crap?
<ELLIOTTCABLE>
devyn: and tell me your ideas. will read on-the-go, or later
<glowcoil>
all right
<cloudhead>
ELLIOTTCABLE:
<cloudhead>
re: rust: I think it has a lot of potential, but is not quite ready yet. It places a lot of importance on safety, so if that's not of great importance to you, then you'll have to deal with the extra overhead and it might seem like it's not worth it.
<cloudhead>
but it's the only language in its category, which makes it very interesting
<cloudhead>
it just needs improvements in its type system
<cloudhead>
the standard library is great
<cloudhead>
the problem is that by shutting down one category of problems (dangling pointers) it opens a whole new category of problems: borrow rules
<cloudhead>
which are a pain to deal with still
<cloudhead>
the team behind it is quite competent though, so that gives me hope
<cloudhead>
but basically it takes a lot of time to get used to the borrow semantics, and it kind of forces you to think about it at all times
<cloudhead>
I'd say that it's especially complicated with recursive or self-referencing data-structures
alexgordon has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
gozala has quit [Quit: Connection closed for inactivity]
glowcoil has quit [Quit: Connection closed for inactivity]
Rusky has quit [Read error: Connection reset by peer]
Rusky1 has joined #elliottcable
Rusky1 is now known as Rusky
PragCypher has quit [Quit: Leaving]
<ELLIOTTCABLE>
hi
<purr>
ELLIOTTCABLE: hi!
<ELLIOTTCABLE>
lonely >:
sharkbot has quit [Remote host closed the connection]
sharkbot has joined #elliottcable
<devyn>
cloudhead: yep, there's a reason why at least for now I'm basically keeping indices in a vector like [0, 1, 2] and recursively going in instead of having a structure with 'parent' references, at least for now
<devyn>
I know how I can do it
<devyn>
but it's annoying
<devyn>
with weak references to Rc
<devyn>
I think
<devyn>
is the easiest way
<devyn>
maybe there's another?
<devyn>
anyway, I would agree, Rust is pretty annoying to write at the moment just because you're pretty much always fighting with object lifetimes
<devyn>
but at the same time, it does bring pretty big benefits
<devyn>
for safety and performance
glowcoil has joined #elliottcable
<devyn>
you can do some things that would normally be pretty painful to keep safe but are performant
<devyn>
in Rust
<devyn>
much more easily-safely
<devyn>
maybe not that much easier, but definitely easier to keep safe
<devyn>
because the compiler is so much smarter
<devyn>
ELLIOTTCABLE: also hi
<ELLIOTTCABLE>
hi
<purr>
ELLIOTTCABLE: hi!
<devyn>
don't be lonely
<devyn>
<3
<glowcoil>
i want to die
<glowcoil>
sick
<devyn>
:(
<devyn>
will G+ ever take off
<devyn>
I really like it :(
<devyn>
why did they have to go and make something so brilliant when there was no hope
<ELLIOTTCABLE>
and thus, it's the *single* most important of any of those social networks, by a huge margin.
eligrey has quit [Quit: Leaving]
<devyn>
"other 'hipster' language die in a fire whitequark"
<devyn>
lol context?
<purr>
lol
<devyn>
okay ELLIOTTCABLE
<devyn>
I've never heard it like that
<devyn>
that's actually pretty convincing if true
<katlogic>
ELLIOTTCABLE: Ironically of people with several thousand followers its usually only novelty accounts who have anything interesting to say
<katlogic>
the more followers = the more it seems to be just rehashed mediocre stuff
<devyn>
katlogic: I think that's kind of his point. it's not supposed to be all that interesting, but it's about building a presence
<katlogic>
what, by being mediocre?
<ELLIOTTCABLE>
oh, there's definitely an upper-bound
<katlogic>
or better said, by pandering to group think?
<ELLIOTTCABLE>
but I'm not speaking in general. Was speaking to devyn.
<ELLIOTTCABLE>
sure, if somebody's got *more* than 50k, I'm pretty sure to completely ignore them.
<katlogic>
ELLIOTTCABLE: it depends on niche, really
<ELLIOTTCABLE>
But the same can be said of less than 100, unless I notice some pretty convincing evidence that they're Too Busy Creating Awesomeness
* katlogic
has only 19 followers
<katlogic>
all irl friends lol
<purr>
lol
<ELLIOTTCABLE>
interesting, that's a valid one too
<ELLIOTTCABLE>
I'd love to graph this some time
<katlogic>
also never tweeted
<katlogic>
i wonder how many accounts like that are out there
<katlogic>
who use it just as contact list
<ELLIOTTCABLE>
if their twitter account is 0-25, then they don't even *use* twitter, or they use it like Facebook, so it's useless metric.
<katlogic>
for people who refuse to use fb as contact list
oldskirt_ has joined #elliottcable
<ELLIOTTCABLE>
although there's more information there: if they Don't Use Twitter, they're probably not relevant to our field. (The ‘hipster programmer’ field.)
<ELLIOTTCABLE>
so that's a pretty good indication that they write a lot of Java or Haskell, and you can write them off as interesting to you. Hm.
<ELLIOTTCABLE>
then there's 25-100, which is “uses Twitter, but is clearly bad at it, and a complete unknown in this field”
oldskirt has quit [Read error: Connection reset by peer]
<katlogic>
ELLIOTTCABLE: the trick is, you can find hipster programmers with couple dozens of searches on github
<katlogic>
as you said, most are simply busy creating awesomeness :)
<ELLIOTTCABLE>
anyway friend summons me, I'm off
<ELLIOTTCABLE>
nah, disagree
<ELLIOTTCABLE>
that's a ****tiny*****, very niche, category.
<katlogic>
ah i see
<katlogic>
indie vs hipsters
<ELLIOTTCABLE>
The vast majority of times I come across somebody with less than a couple hundred followers on Twitter, that somebody has produced nothing of value.
<katlogic>
since hipsterdom is basically population of san fracisco
<katlogic>
hmm
<ELLIOTTCABLE>
all of their programming work has been at their job, they never write informative blog posts, or release open-sours libraries, or … anything else.
<ELLIOTTCABLE>
basically, tends to be a non-entity. A programmer who doesn't matter to anybody but their coworkers.
<katlogic>
hm; that category probably fits me
<katlogic>
i cant really see the appeal of bad advice blogs
<devyn>
haha
<katlogic>
isnt thats what stackoverflow is for?
<katlogic>
(again; neat social network for this particular niche)
<ELLIOTTCABLE>
‘hipster’-language open-source contributions (blog posts, tutorials, libraries for Ruby, JavaScript, Erlang; software-developer tooling and infrastructure, websites, etc)
<ELLIOTTCABLE>
and number of followers on twitter,
<ELLIOTTCABLE>
have a high correlation.
<ELLIOTTCABLE>
Have to go, though, friend freaking out.
<ELLIOTTCABLE>
's a conversation I hate to leave before finishing, 'cuz what I've said so far just makes me sound like a hipster douchebag ಠ_ಠ
<ELLIOTTCABLE>
oh well. all's well that ends in flames.
<katlogic>
We're all here to study hipsters in detail.
<katlogic>
Apparently we east europeans need to learn a lot in that regard :>
<katlogic>
(aside from blackhat seo / social spam bots lol)
<purr>
lol
<oldskirt_>
blackhat seo <3
oldskirt_ is now known as oldskirt
<devyn>
hahaha
<devyn>
blackhat seo
SwooshyCueb has quit [Read error: Operation timed out]
SwooshyCueb has joined #elliottcable
prophile has joined #elliottcable
<devyn>
I really want to replace my shitty symbol impl with something that just mallocs strings and compares pointers
<devyn>
Rust makes it possible, I think
<devyn>
not terribly easy but possible
prophile has quit [Quit: The Game]
glowcoil has quit [Quit: Connection closed for inactivity]
<inimino>
ELLIOTTCABLE ⋱ Ping.
<ELLIOTTCABLE>
o7
<ELLIOTTCABLE>
'sup?
<inimino>
Uh, that was coincidental or amazingly fast.
* ELLIOTTCABLE
laughs
<inimino>
I'm just relaxing.
<devyn>
hahaha
<ELLIOTTCABLE>
I'm just amazing. ^_^
<ELLIOTTCABLE>
amazingly worthless. v_v
<inimino>
I read a little of the backscroll.
<ELLIOTTCABLE>
god *damnit* I just can't fucking understand Promises/A+ style ‘promises.’
<ELLIOTTCABLE>
which is a retarded motherfucking name for them, because they're not goddamn proper futures/promises at all.
<ELLIOTTCABLE>
it's just some *really* fucking obtuse callback-unrolling pattern.
<ELLIOTTCABLE>
ugghhghthgh hatehatehate
<inimino>
That's kind of what promises are, right?
<ELLIOTTCABLE>
I'm starting to hate Noders and their ‘promises’ more than Haskellers and their monads.
<ELLIOTTCABLE>
inimino: that's what they're both used for, yes. Promises/A+ are trying to solve the same thing that native futures try and solve. That's not at all to say they're the same thing, or get used the same way, though.
<inimino>
Oh, I thought you were comparing them to other JS promise implementations.
<ELLIOTTCABLE>
oh, nah.
<devyn>
node async code is essentially equivalent to threading... just in a different domain
<ELLIOTTCABLE>
I was a Node fan in the days when we (briefly) had *actual futures* in JavaScript. It was insanely nice.
<ELLIOTTCABLE>
yep yep
<ELLIOTTCABLE>
hence Paws etc etc etc
* ELLIOTTCABLE
wanders off
<devyn>
yeah
<devyn>
inimino: how are you doing? I've met you and yet I still haven't met ELLIOTTCABLE irl (though he tried)
<inimino>
devyn ⋱ I'm good, I'm in China.
<inimino>
Learning Chinese pretty fast.
<devyn>
still? did you come back for a while?
<inimino>
Will be fluent this year. Yeah, I go back often but just to visit.
<devyn>
that's awesome
<inimino>
"Often" being about once a year, I guess.
<inimino>
It's an interesting language :D
<devyn>
I need to get some better experience with Japanese
<devyn>
I've been at the same level for a while now
<devyn>
lower end of intermediate, I guess
<inimino>
That's a good excuse to travel to Japan, then.
<inimino>
I want to visit there.
<devyn>
I'm hoping I can next year
<inimino>
You should. What will you do there?
<devyn>
I have a few friends there to go visit
<devyn>
and
<devyn>
I don't know, I guess just explore
<devyn>
I'm thinking about getting a homestay
<inimino>
Yeah, it's a good plan.
<devyn>
what drew you to China? I know you've been doing some work there
<devyn>
was it just that?
<inimino>
no...
<ELLIOTTCABLE>
girl? :P
<ELLIOTTCABLE>
ugh I fucking don't know what I'm doing wrong here
<ELLIOTTCABLE>
I'm *very* caffeinated, and making lots of thing very quickly
<ELLIOTTCABLE>
wikipedi.as
<vigs>
huh?
<ELLIOTTCABLE>
got a neat script to crawl categories on wikipedia, basically finding all of the “disambiguation categories” for a given-language wikipedia
<ELLIOTTCABLE>
now, onwards to the actual shortlink-generation par
<katlogic>
glowcoil: Could be worse. Imagine the mayhem if actual stick figures started bashing twitter.
<katlogic>
C&H and XKCD ... that would be awful sight.
<ELLIOTTCABLE>
OOTS <'3
<ELLIOTTCABLE>
been a LONG time since I read a webcomic.
<ELLIOTTCABLE>
'cuz rss died and all that.
<katlogic>
died?
<ELLIOTTCABLE>
need to go hunt down some of my old favorites and catch up
<glowcoil>
i'm way behind on oots
<ELLIOTTCABLE>
katlogic: don't worry, nobody who uses rss seems to have noticed; don't feel bad that you didn't, either
<vil>
ELLIOTTCABLE: you realize that plenty of sites still have rss
<ELLIOTTCABLE>
katlogic: consider this your notification: RSS died a while back <3
<ELLIOTTCABLE>
oh, and tdd is dead
<katlogic>
hmmm.
<vil>
I literally have yet to find a site that I want to subscribe to that doesn't have a feed
<vil>
and I only recently started using RSS again
<katlogic>
ELLIOTTCABLE: Oh I get it. aaron anherod himself, and atom died with him.
<ELLIOTTCABLE>
not talking about a user. talking about as a producer.
<katlogic>
now we're just waiting for mozilla to die.
<vil>
mozilla :(
<katlogic>
So the eradication of truly free social media formats will be finally complete.
<katlogic>
And we can all happily live in twitter tranquility ever after.
<vil>
walled gardens yay
<vil>
soon you will be able to choose between the facebook internet and the google internet
<katlogic>
Um, that kinda happened already?
<katlogic>
Installed windows 8 recently, kinda scary it linked my FB account with OS account.
<vil>
facebook is a lot like 90s AOL, actually
<vil>
lol windows 8
<purr>
lol
<vil>
yeah, I have to sign into my virtual machine with my live account
<vil>
which I think I may have deleted
<katlogic>
Yup figured that out eventually too, still fun how skype/fb is all interconnected
<katlogic>
the second you give it fb creds it leeches all accounts linked to that
* katlogic
is strong believer in Microsoft
<ELLIOTTCABLE>
katlogic: wat.
<purr>
beep.
<katlogic>
No matter how bad was the situation, they eventually won.
PragCypher has quit [Remote host closed the connection]
<katlogic>
I know that past performance is no guarantee of future events
<katlogic>
But with jobs dead, google entrapping itself in slow and painful corporate implosion ... There might be still light at the end of the tunnel.
PragCypher has joined #elliottcable
<vil>
google :(
<vil>
remember when google was awesome?
<vil>
like ten years ago
<vil>
I used to want to work there
<katlogic>
vil: Its worse than that. Parts of google are still awesome and parts are genuinely shrewd and evil, more than ms, fb and apple combined were ever.
<vil>
yep
<vil>
I can't trust them, but they still do things that make it impossible to completely hate them
<vil>
G+ and the mindset around it poisoned them as a company
<vil>
I've been slowly pulling out all of my data, I think I'm only actively using two services now
<vil>
just waiting on Fastmail to release CardDAV support to stop using Google for syncing that
<katlogic>
G+ is kinda sad story; sure they abused youtube et all; but other than that, it was no worse than what fb/ms were doing.
<vil>
and then I have to figure out what to replace Chrome tab syncing with
<ELLIOTTCABLE>
ugh
<katlogic>
Ie treating social media users as cattle they were :>
<ELLIOTTCABLE>
guys, weigh in:
<ELLIOTTCABLE>
what's the most intelligent way of resolving a Wikipedia disambiguation to a useful content page?
<vil>
katlogic: maybe not G+ in and of itself, but the privacy-destroying mania that spawned it
<ELLIOTTCABLE>
at the moment, I'm favoring one of two things:
<ELLIOTTCABLE>
A) the first wikilink on the page,
<ELLIOTTCABLE>
or B) the first wikilink *in the first list* on the page.
<vil>
but there's actually no article for the relevant thing
<vil>
so that can't be avoidedf
<katlogic>
nah; "first working link in <ul> of disamb" works in that you always get *some* answer
<vil>
there are certain disambiguation pages that actually contain the answer
<katlogic>
Its just that its not necessarily the most "i'm feeling lucky" one.
<vil>
yeah
<katlogic>
In fact one has to ask google hivemind what it deems whats "i'm feeling lucky"-worthy
<katlogic>
or do custom bayes with click tracking
<vil>
alright, gotta go do work
<vil>
back later probably
<ELLIOTTCABLE>
will probably do a multi-heuristic approach:
<ELLIOTTCABLE>
first wikilink that is at the *start* of a line,
<ELLIOTTCABLE>
if no matching link anywhere on the page, then first wikilink inside a list,
<ELLIOTTCABLE>
if no list, then first wikilink on the page.
<ELLIOTTCABLE>
some will inevitably be terrible links
<ELLIOTTCABLE>
but basically, if somebody drops a http://wikipedi.as/Hispano link somewhere without first checking that it goes to what they actually *want* to link … that's their problem, not mine. I'll put in a good-faith effort, sure, but …
<ELLIOTTCABLE>
the only guarantee I'm providing is that http://wikipedi.as/Hispano will be a **permenant** link. Wherever it goes, once a destination has been decided upon, it will go forever.
<ELLIOTTCABLE>
this was my “show off the system” song, before Jazzie got totaled.
<ELLIOTTCABLE>
you know, audible-from-inside-a-building-a-city-block-away fun.
<ELLIOTTCABLE>
(Not to imply I was *always* That Asshole™. Just when I felt the need to metaphorically enlarge my peen.)
<glowcoil>
ELLIOTTCABLE: what was your layout like
<glowcoil>
in your old apartment
<ELLIOTTCABLE>
glowcoil: wat?
<ELLIOTTCABLE>
old? er, this is my first apartment
<ELLIOTTCABLE>
confus
<glowcoil>
oh ok what is your current layout then
<ELLIOTTCABLE>
this was my home in wilmington. (Four-unit townhouse building; laid out horizontally. So nobody above/below, or on three of the four sides.)
<ELLIOTTCABLE>
Going to use these algorithms to choose a most-likely option,
<ELLIOTTCABLE>
and disambiguation links that are as-of-yet unresolved will *not* redirect immediately to wikipedia.
<ELLIOTTCABLE>
instead, I'll generate an interstitial that says something like:
<ELLIOTTCABLE>
“You probably want to click here: <big text of presumed article's name>”
<ELLIOTTCABLE>
then, below that, a <ul> of *all* the wikilinks from that page, after some text like “This short-URL has not yet been disambiguated. If the above article doesn't make sense from the link you clicked to get here, you may change where it leads by selecting one of the following articles.”
<ELLIOTTCABLE>
or idk some shit
<vil>
good idea
<ELLIOTTCABLE>
then another interstitial, if they *didn't* select the suggested link, that says something like “Are you sure you want to permanently link <wikipedi.as/Article> to the <Fuck Shit Stack> article, for all future visitors? This cannot be undone!”
<vil>
so are you going to show this to the link-creator first?
<ELLIOTTCABLE>
hm?
<ELLIOTTCABLE>
there's no way to do that.
<ELLIOTTCABLE>
The “link creator” is somebody who typed a URL somewhere. I have no *access* to the person typing the link, as the creator of this link-shortener.
<vil>
I missed the first part of this, how does this even work?
<ELLIOTTCABLE>
I only have access to the first person to actually visit it.
<vil>
oh so it's just going to be created when its used
<ELLIOTTCABLE>
For *savvy* users, that will also be the creator (i.e. in the ideal case, a person about to use a wikipedi.as link somewhere, will visit it first to double-check that it resolves to what they want it to.)
<vil>
right, ok
<ELLIOTTCABLE>
(at that point, they would have the option of disambiguating it forever.)
<ELLIOTTCABLE>
but, that's probably not the majority use-case.
<ELLIOTTCABLE>
most people are just going to hit reply to a tweet, and type wikipedi.as/Java
<ELLIOTTCABLE>
and expect it to work.
<ELLIOTTCABLE>
so, have to have some heuristics in the common case of A) creator not checking it, and B) first visitor being an uncaring idiot.
<vil>
yeah
<ELLIOTTCABLE>
in that vicious situation, I want to make it super-likely that the idiot will disambiguate it to the result of my most-likely algorithm.
<vil>
I wish wikipedia just didn't have the /wiki/ bit in their URLs
<ELLIOTTCABLE>
lol yep
<purr>
lol
<vil>
whose idea was that
<ELLIOTTCABLE>
but even then you've got the language code, etcetetc
<vil>
there are literally no other top-level bits
<vil>
I think wikipedia.org/wiki/bluh redirects to en. by default
<cloudhead>
how will it know which language it's in
<ELLIOTTCABLE>
the biggest issue is this:
<ELLIOTTCABLE>
wikipedi.as/Developer
<ELLIOTTCABLE>
tell me what that resolves to.
<cloudhead>
yea
<cloudhead>
that's an issue
<ELLIOTTCABLE>
disambiguation pages.
<cloudhead>
yea
<ELLIOTTCABLE>
I refuse to have a throw-down-a-short-url-in-a-conversation service that doesn't link to *actual content*.
<ELLIOTTCABLE>
So most of the work involved in this mess is building a system to understand what a “disambiguation page” is, on a wikipedia, and then having a nice user-experience for resolving that problem.
<ELLIOTTCABLE>
anyway.
<ELLIOTTCABLE>
oh, languages are easy, or rather, I don't care.
<ELLIOTTCABLE>
Wikimedia actually surveys their own wikis, and decides which ones to include on the front page (http://wikipedia.org/) based on their development and how widely-used they are.
<ELLIOTTCABLE>
so I steal that ranking, and then the link resolves to the most popular wiki with an actual page by that name.
<ELLIOTTCABLE>
so, English or Portugese won't steal デジタルジレンマ;
<cloudhead>
mmmm cool
<ELLIOTTCABLE>
but QUE will still sit on the English wikipedia as Quebec, instead of resolving to the Portugese wikipedia.
<ELLIOTTCABLE>
so: “Other communities can use this, but the most popular ones get to use it more.”
<ELLIOTTCABLE>
it's lucky, because three of the top five most popular languages use *completely* different character sets, and thus are unlikely to conflict. (Latin, Hangul, and Cyrillic, I suppose?)
<ELLIOTTCABLE>
anyway meh
<ELLIOTTCABLE>
zero shits
<ELLIOTTCABLE>
I just need to make a real thing that does something and exists, after the clusterfuck that is/was/should be Paws
vil has quit [Ping timeout: 264 seconds]
<ELLIOTTCABLE>
♪ I Want Crazy
<purr>
ELLIOTTCABLE is listening to “I Want Crazy”, by Hunter Hayes
<devyn>
alexgordon: Mac dev halp pls. I've got a little ruby script I want to bundle up in a native Mac app that can configure it. The ruby script has some gem dependencies and also some native deps (namely, MPD and the stuff that goes along with it)
<devyn>
alexgordon: what's the best way to go about that?
<devyn>
if you know
<alexgordon>
devyn: hi
gozala has quit [Quit: Connection closed for inactivity]
<alexgordon>
devyn: I don't know much ruby, so maybe you should talk to a ruby person