malia_ has joined #elliottcable
malia_ has quit [Client Quit]
Aria has joined #elliottcable
<Nuck> devyn: Well that's reassuring. Hating Hiragana, it hurts my wrist
<Nuck> And I use my wrist a lot, if you follow ;)
<devyn> Nuck: also you'd probably find あ easier to write if you learned how to write の and め first
<devyn> (no and me)
Aria has quit [Remote host closed the connection]
Aria has joined #elliottcable
<sanitypassing> I program sometimes.
<sanitypassing> I just never really get anywhere with what I program
<sanitypassing> I used to have a folder full of random scripts and such
<sanitypassing> I'm hoping to do more over the summer though. For now, school. :\
<sanitypassing> Nuck: Hiragana is easy. :P
<sanitypassing> katakana though... that's a bitch
<sanitypassing> still haven't gotten it
malia has joined #elliottcable
malia has quit [Client Quit]
<Nuck> sanitypassing: Handwriting it?
<sanitypassing> hiragana?
<sanitypassing> yeah, it's easy
<Nuck> Yeah
<Nuck> I disagree :P
<sanitypassing> it just sort-of... flows
<Nuck> That's exactly the problem!
<sanitypassing> I liek teh flow.
<Nuck> I suck at cursive for the same reason
<Nuck> that whole "flow" shit never really worked for me
<sanitypassing> lol cursive
<purr> lol
<sanitypassing> I suck at cursive. I'm not even sure I remember any of it.
<Nuck> lol I know
<Nuck> My signature was originally pure cursive
<Nuck> Nowadays it looks like a doctor's signature
<sanitypassing> lol
<Nuck> Maybe worse
<sanitypassing> I don't even write anymore
<sanitypassing> not really
<sanitypassing> only when I have to
<Nuck> I basically just stopped giving a fuck and so it begins as Peter but ends as ~~~~~
<Nuck> And yeah, I don't write much either
<sanitypassing> :\
<Nuck> Which is I think a large part of why I'm sucking at Hiragana too
<Nuck> My wrist isn't used to this much work
<Nuck> The あ really just raped my hand
<Nuck> Actually
<Nuck> sanitypassing: Are you a leftie?
<sanitypassing> Nope.
<Nuck> Hm
* Nuck shrugs
<purr> ¯\(º_o)/¯
<sanitypassing> ha, purr
<sanitypassing> <3.
* Nuck pets purr
* purr rrrrr
<Nuck> This would probably be easier with a brushpen
<Nuck> But sadly my brushpen sucks
<Nuck> Too long nad soft of a brush
sephr has quit [Quit: Leaving]
malia has joined #elliottcable
malia has quit [Quit: malia]
malia has joined #elliottcable
malia has quit [Client Quit]
alexgordon has quit [Quit: ["Textual IRC Client: www.textualapp.com"]]
<Nuck> Okay fuck this I'm switching to Mongoid
<devyn> I find it amusing that my high performance GPU has such awesome power saving features
<devyn> 1.1 GHz core overclock, 300 MHz core idle/low-load, and it shuts off when the screen's off, lol
<purr> lol
<devyn> like, off completely
<devyn> well, more like a sleep mode
<devyn> if you can call it that
<devyn> its fans don't spin
malia has joined #elliottcable
malia has quit [Client Quit]
Aria has quit [Ping timeout: 260 seconds]
Aria has joined #elliottcable
yorick has joined #elliottcable
yorick has joined #elliottcable
PragCypher has joined #elliottcable
PragCypher has quit [Quit: Leaving]
sephr has joined #elliottcable
alexgordon has joined #elliottcable
malia has joined #elliottcable
malia has quit [Client Quit]
sephr has quit [Quit: Leaving]
sephr has joined #elliottcable
PragCypher has joined #elliottcable
sephr has quit [Read error: Connection reset by peer]
sephr-space has joined #elliottcable
<sephr-space> i think i found the perfect person for this channel: http://forum.templeos.org/modules.php?name=Forums&file=viewtopic&t=1
<sephr-space> very very talented with everything but schizophrenic
<sephr-space> and he spent his talent on a ring0 os lol
<purr> lol
<sephr-space> gtg
sephr-space has quit [Remote host closed the connection]
<whitequark> haha that is cool
<whitequark> actually he's not schizophrenic at all
<whitequark> it all makes sense except that x86 is shitty architecture and PC is even more so
<elliottcable> what the hell am I reading?
<whitequark> elliottcable: huh?
<elliottcable> sephr's link
<elliottcable> as usual, it's batshit
<elliottcable> anyway.
<whitequark> oh the FIRST LINK
<whitequark> WTF
<whitequark> if IRC had bigger fonts I would be writing WTF in 70pt right now
<whitequark> thank god it hasnt
<elliottcable> WTF
<whitequark> YES
<elliottcable> 6,14WTF
<elliottcable> 6,14WTF
<elliottcable> fuck
<elliottcable> WTF
<elliottcable> WTF
<elliottcable> there we go
<whitequark> please do tell me the sequence for writing the last in irssi
<elliottcable> does your logger support colours yet? ;)
<whitequark> nope I'm a lazy fuck
<whitequark> lemme check if they're logged to the db
<elliottcable> ⌃C6,14⌃B⌃_WTF⌃O
<elliottcable> Have fun.
<elliottcable> Ours is about the only channel on the entire network with it enabled.
<elliottcable> Almost certainly the only channel over 40 members with it enabled.
<elliottcable> ... I lied. 28. Whatever.
<elliottcable> #hasbeen
<whitequark> I won't tell you where is it also enabled
<whitequark> 6,14WTF
<whitequark> hm
<whitequark> judging by the fact that mysql's table is fucked up, they are logged
<whitequark> can mysql hexdump?
<whitequark> hex(field)
<whitequark> 03362C31341F025754460F
dnyy has joined #elliottcable
<dnyy> #swerve
* elliottcable laughs
<elliottcable> 'sup, bitch
<elliottcable> irccloud <3
<elliottcable> been a while
<dnyy> doing terrible freelance rails apps ;___;
<dnyy> dealing with this project that uses eval in place of JSON.parse all over the place
<whitequark> google style guide recommends that
<elliottcable> it's not a bad idea to do so, as long as you kick it out of your local scope, and pay attention to the obvious caveats
<elliottcable> i.e. that, you know, you're *eval'ing code*.
<dnyy> it just turns "[1,2,3]" into [1,2,3]
<dnyy> from a value of an input field
<dnyy> well this instance did, i haven't looked everywhere
<elliottcable> >> function myparse(json){return (1,eval)(json)}; myparse("{/* supports comments!*/ foo: 'bar'}")
<purr> elliottcable: 'bar'
<elliottcable> fucked that up
<elliottcable> >> function myparse(json){return (1,eval)('('+json+')')}; myparse("{/* supports comments!*/ foo: 'bar'}")
<purr> elliottcable: {foo: 'bar'}
* dnyy learns something new everyday
<whitequark> >> JSON.parse('{"foo":"bar"}')
<purr> whitequark: (object) {foo: 'bar'}
<dnyy> i'm not sure why you'd use eval over it, though, JSON.parse at least looks a lot cleaner
<dnyy> than eval('(' + $('#shit').value() ')')
<elliottcable> lol .value()
<purr> lol
<elliottcable> anyway, you get the point
<dnyy> read the google style guide, but it doesn't really say why
<elliottcable> not saying the dev's code that your fixing isn't an idiot
<elliottcable> just saying, there *are* valid reasons, despite him not using them
<dnyy> yeah, i never thought about it really, so good to know nonetheless
<whitequark> oh x86
<elliottcable> whee shorturls
<elliottcable> I love having a sexy domain
<elliottcable> http://ell.io/tt/$Paws.js
<elliottcable> lotta line-noise, though. lol.
<purr> lol
<elliottcable> Time to write a script to acheive inbox-zero for me
<devyn> elliottcable: aka automated markov-chained replies?
<elliottcable> nope
<elliottcable> 99.99999% of my e-mail isn't “real people”
<devyn> aww
<devyn> I'd say about 80% for me, but much of the 20% isn't important; just mailing lists
<elliottcable> oh, mailing lists are all automatically filtered
<whitequark> elliottcable: discover mail filtering?
<elliottcable> yeah, it's all already *heavily* filtered
<elliottcable> I probably have ~150 gmail filters
<whitequark> oh
<whitequark> oh crap.
<elliottcable> and I've *still* got 900 unread, un-filtered-out in my inbox.
* whitequark has around a dozen
<elliottcable> I only started on a crusade to reduce my e-mail issues six months, ish, ago
<elliottcable> so there's still plenty of automatic mailings, various spam-y things, or services I used once and then forgot
<elliottcable> so when I “clear out my inbox,” it generally involves taking the top item of mail, searching for all mail from that sender's domain, and then selecting all, mark as read and archive
<elliottcable> similarly, looking for an “unsubscribe” or “notification preferences” link within those emails
<elliottcable> so, time to automate that process and allow me to batch-process entire chunks of mail (“Everything from Twitter.com”, “everything from the NRA”, etceteras) at once
<elliottcable> then, allow me to automatically add a new filter or append an existing one, if there's no unsubscribe link or similar to handle it
<elliottcable> all of this should be relatively trivial scripting, if I can get past the fucking authentication part
<elliottcable> I hate OAuth with a livid passion. More “security” (in airquotes, because every fucking system implementing OAuth is already as leaky as boxers on a baby) for general users, at a loss to scriptability of the web as a whole.
<whitequark> use gem 'mechanize'
<elliottcable> meh, not in the mood to be around Ruby right now
<elliottcable> doing it in Node
<elliottcable> and I definitely want to do this properly, not by scraping the HTML
<elliottcable> done plenty of mechanize back in the day, but it's *way* too slow to process hundreds of e-mails over the 3G connections I generally find myself using
<whitequark> use a server?
<whitequark> also um
<whitequark> why do you need oauth to get email?
<whitequark> imap
<whitequark> I was offering mechanize as a means to log in to websites from which you want to unsubscribe
<elliottcable> OAuth because I want to generalize it and turn it into a Gmail Gadget someday.
<whitequark> so you want to restrict people who want to use it to gmail only
<whitequark> meh
<elliottcable> The end-goal is a <canvas> disc-shaped break-down of your e-mail, by label, sending-website, individual sender, mailing-list ... you get the idea
<alexgordon> yay so my memorization algorithm works pretty well
<elliottcable> with the ability to create a filter, or apply an “unsubscribe”-link heuristic, for any given subsection that it displays
<elliottcable> with one click.
* whitequark read that as "dick-shaped break-down"
<elliottcable> definitely gmail only.
<elliottcable> whitequark: wat.
<purr> beep.
<whitequark> reading too much drama lately
<telemachus> elliottcable: No worries, but who are Brian_Phillip and danpalmer and how did they get into my Twitter-stream?
<elliottcable> lol. Brian's a friend of mine; danpalmer is a very smart dude who used to frequent this channel
<purr> lol
<whitequark> elliottcable: everything from that list, including filtering, is not gmail-specific
<elliottcable> he goes to the same university as trolling
<elliottcable> so he stopped frequenting. I believe it was becoming weird for them.
<telemachus> elliottcable: K. All good.
<alexgordon> kind of want to make my own ketchup
<elliottcable> whitequark ⑊ yes, but the ability to *create* a filter is too specific to the service; I don't want to have to generate filter-rules specific to whatever service the user may use
<elliottcable> not an argument I care about.
<elliottcable> convention over configuration, every time; and gmail is *the* convention.
<whitequark> elliottcable: discover sieve
<elliottcable> make the code simple enough and modular enough to modify to your necessities, then wrap it into a gmail gadget. done.
<devyn> alexgordon: memorization algo?
<alexgordon> devyn: you know about supermemo?
<alexgordon> or anki, etc
<devyn> I know Anki
<whitequark> elliottcable: and you're essentially generating filter-rules specific to whatever service the user may use.
<elliottcable> yes, but specific to *one* service, not many
<elliottcable> could just as well say I should support POP as well as IMAP, etcetcetc
<alexgordon> devyn: Anki uses an algorithm called "SM2", which was developed in the 80s iirc
<elliottcable> this is a script, for me, that it'd be *easy enough* to generalize for others' use
<alexgordon> devyn: it's pretty inefficient :P
<devyn> lol
<purr> lol
<elliottcable> doesn't mean I'm going to put a lot of effort into making it useful for *everybody* who might want to do something similar
sephr has joined #elliottcable
<elliottcable> wait, alexgordon
<elliottcable> “memorization” not “memoization?”
<elliottcable> this conversation just took on an entirely new light.
<alexgordon> with an R
<alexgordon> for remembering stuff
<elliottcable> Is there something like that for the iPhone, with push notifications?
<elliottcable> 'cause, want.
<alexgordon> there probably is
<alexgordon> but I'll open source my lib and you can use it!
<devyn> oh, that would be neat; something that just sends you an info card every so often?
<whitequark> ARGH
<alexgordon> it's quite resource intensive though, I designed it for desktop computers
<whitequark> I need to debug one of my passes which produce invalid SSA
<whitequark> but my debugging tool broke
<elliottcable> alexgordon ⑊ do that!
<whitequark> DO NOT WANT to analyze 10k+ lines of console output
<alexgordon> devyn, elliottcable: so for a mobile device you'd probably need a server to do all the work and just have a thin client
<devyn> I have a 313-lines-of-Ruby-long script that's a clusterfuck now
<elliottcable> devyn ⑊ I was thinking, after reading Lift.do's fucking-whitepaper-in-release-notes for the last release, about something like that
<elliottcable> yes, server and thin-client
<elliottcable> and I'd like to add *additional* heuristics to ensure I don't get too many push requests
<elliottcable> would have to take into account: 1) how often I swipe-open the APN, as opposed to ignoring it entirely,
<elliottcable> 2) how many “refreshers” I complete after swiping an APN
<alexgordon> anyway as I was saying Anki uses SM2 and the latest is SM15 which is considerably more efficient. But algorithms from about SM5 onwards are not detailed very well, so I'm designing my own from scratch
<elliottcable> (let's assume that the app will APN when it has something new that it wants to refresh you about, a month down the line ... but when you swipe that APN, it will *continue* showing you refereshers as long as you're bored and stay in the app)
<elliottcable> alexgordon ⑊ what are these SM* numbers?
<elliottcable> semtech.com?
<alexgordon> SuperMemo
<alexgordon> versions of the supermemo algorithm
<elliottcable> lolno
<purr> lol
<elliottcable> ah, I see
<alexgordon> that's a high level description of SM8
<elliottcable> reading that already
<elliottcable> so they keep iterating this design?
<alexgordon> yeah they started out in the 1980s and have been releasing a new version every few years since then
<elliottcable> lol wozinak
<elliottcable> This website, jesus herbert christ
<alexgordon> ikr
<alexgordon> it's almost as bad as templeos
<alexgordon> :P
sephr has quit [Quit: Leaving]
<alexgordon> my algorithm differs in that it stores *everything* that ever happens, then recomputes the optimal time intervals on each run
<elliottcable> so after a long time of using it, it's going to get extremely slow?
<elliottcable> or with a very large number of things to remember?
sephr has joined #elliottcable
<alexgordon> as long as it's linear in the number of events, it should be OK
<alexgordon> a computer can crunch through a million or so items in no time
<alexgordon> also it can afford to take a few seconds, since it only needs to run once a day
<elliottcable> hmmmmm
<elliottcable> dunno about once a day
<alexgordon> no I've thought about that
<elliottcable> for instance, if I put something in in the morning, I want to be reminded about it for the first time that afternoon
<elliottcable> not the next day
<alexgordon> I've split it into two components: intraday scheduling and interday scheduling
<elliottcable> * "Linux" is probably a trademark owned by Linus Torvalds.
* elliottcable laughs
<elliottcable> ‘probably’
<devyn> am I evil for doing this http://cl.ly/NjbA
<elliottcable> I like this guy
<alexgordon> elliottcable: have you seen his screencasts of it?
<alexgordon> on youtube
<elliottcable> devyn ⑊ request and cache D:
<alexgordon> it's fucking crazy
<elliottcable> alexgordon ⑊ nah, link me
<elliottcable> don't tell me it's fucking crazy
<elliottcable> I might end up switching to it
<devyn> elliottcable: well I more mean the Hash[*%w[]] stuff :p
<alexgordon> it used to be called SparrowOS until recently so that's what you should search for
<elliottcable> not at all
<elliottcable> I've done that before, although I'm not a fan of that syntax
<devyn> watf since when is this called templeos
<elliottcable> generally, I stick to %|| or %(), or, in special cases, a space (% abc )
<devyn> why does he change the name so goddamn frequently
<elliottcable> *especially* when you're already within square-brackets, use something else
<devyn> for a while it was LoseThos
<alexgordon> devyn: OS written in 10 years by a schizophrenic and VERY religious guy
<devyn> alexgordon: I know
<alexgordon> oh, misread
<devyn> but I don't understand why he keeps changing the name of it
<devyn> lol
<purr> lol
<devyn> just recently
<elliottcable> oh my god this video
<elliottcable> pretty sure it's giving me that thing with the eyes and seizures
<alexgordon> elliottcable: erm anyway, I have one algorithm for working out which items are relevant today, and a separate one for working out *when* in the day to do what
<devyn> “can change tasks in half
<devyn> a microsecond”
<devyn> because that totally doesn't depend on processor speed
<elliottcable> lol
<alexgordon> devyn: are you suggesting that multiple people are running this OS?
<devyn> alexgordon: hmmm? I don't follow
<alexgordon> devyn: he's the only person crazy enough to run it
<elliottcable> it's not for using, it's for playing
<elliottcable> I look at this, and think “Arduino, but for systems-level-software instead of gadget-level-hardware”
<elliottcable> i.e. completely useless for any real tasks, only interesting for learning and fiddling and being crazy
<alexgordon> elliottcable: so for a thin client implementation, you would have a server tell you what items are relevant for today, then have the client decide when in the day to show them
<elliottcable> there's plenty of alternatives for *real* tasks (compare Arduino to BeagleBoards, Lego Mindstorms, Raspberry Pi, ...)
<elliottcable> but for what it's good for, it looks excellent
<elliottcable> alexgordon ⑊ not good enough, at least for what I'm talking about; because the server needs to provide push-notifs throughout the day
<alexgordon> elliottcable: can't an app do that using a background process?
<elliottcable> ... no
<alexgordon> why not
<elliottcable> have you ever *touched* an iPhone?
<alexgordon> lol
<purr> lol
<alexgordon> I thought you could run limited background processes on iOS
<elliottcable> did I miss something massive, and you use Android or something?
<elliottcable> yes. very limited.
<elliottcable> you've got:
<elliottcable> - 10 minute task-completion, limited in API availability after the app has tabbed out
<elliottcable> - indefinate audio API, even *more* limited availability (basically impossible to hijack for any purpose other than Spotify-esque music streaming)
<elliottcable> that's literally it, unless I missed the big “Oh! We're going to let you background tasks indefinately now!” headline feature in iOS 6
<alexgordon> oh well
<elliottcable> everything you see that does notifications when the app isn't running, is doing it server-side, or within ten minutes of you last tabbing out of the app
<alexgordon> ok then I guess you'd have to do it on the server
<elliottcable> still don't get your dual-algo approach
<elliottcable> why the hell?
<elliottcable> explain
<alexgordon> because basically the two problems are unrelated
<alexgordon> during the day you want to make an "imprint" as supermemo guy calls it, so that you definitely remember the desired memory for at least the rest of the day
<alexgordon> but between days it's a different problem, you want to optimize for memory "strength", so that you forget the memory *more slowly*
<alexgordon> strength doesn't really exist in units less than a day
<alexgordon> this is the key insight in supermemo: the less often you repeat something, the slower you forget it
<alexgordon> if you repeat something really quickly, then you have to keep repeating it at that speed otherwise you forget it just as quickly, but if you repeat it in big intervals (but are frequent enough that you don't forget it) then you build strong memories that you forget slowly
<elliottcable> um,
<elliottcable> hahahahaha
<elliottcable> I'm sorry, if his thing is written on that assumption, than it's fatally flawed
<alexgordon> it's backed up by data, so not really
<elliottcable> and please don't make that mistake in your own, as it'd make it as useless to me as it sounds like his would be
<elliottcable> I've an *absolutely atrocious* memory; and I guarantee you that I can forget something within the same day
<alexgordon> you probably don't, but you might just need more effort to imprint the memories
<elliottcable> for me, more useful (at least at the start) would be repeating in much smaller intervals. Perhaps fifteen minutes after I spam it in the first time, if there's nothing else for it to show me, then perhaps three hours later
<alexgordon> brb food
<elliottcable> see, I shouldn't have to put effort in. That's the entire point.
<alexgordon> by effort I mean greater repetition during the day
<alexgordon> I'm not suggesting you just show it once a day
<alexgordon> but you forget things differently between days than you do during a day
<elliottcable> I'm not so sure I believe that.
<elliottcable> But if there's truly studies backing that statement, so be it
<elliottcable> as long as there's a methodology for training on schedules *shorter than a day*
brr has quit [Read error: Operation timed out]
<devyn> please.feed.the.damn.cat
<devyn> lol
<purr> lol
malia_ has joined #elliottcable
brr has joined #elliottcable
<elliottcable> devyn ⑊ was that in reply to whitequark's tweet, or vice versa?
<elliottcable> either way, what's the context?
<whitequark> elliottcable: vice versa
<sanitypassing> time to write a speech...
<sanitypassing> ... I hate writing speeches...
<elliottcable> why're you writing a speech?
<sanitypassing> speech class.
<devyn> elliottcable: brr's mask is corrobor@please.feed.the.damn.cat
Aria has quit [Remote host closed the connection]
<alexgordon> [21:59:04] <+elliottcable> why're you writing a speech?
<alexgordon> [22:00:09] <sanitypassing> speech class.
<sanitypassing> I dislike speech class.
<alexgordon> wtf is speech class
<alexgordon> don't say a class for writing speeches
<sanitypassing> we write and give speeches.
<alexgordon> ...why
<alexgordon> are you training to be a politician?
<sanitypassing> no
<alexgordon> best man?
<sanitypassing> it's general classes that college/university students need to take
<alexgordon> it is?
<sanitypassing> if I don't take it, I can't graduate.
<sanitypassing> ... not that I'm close to gradutating, but still. I have to take it.
<alexgordon> that's weird
<sanitypassing> well, considering a lot of people have terrible public speaking skills.
<alexgordon> probably because they rarely have to do public speaking?
<sanitypassing> yep.
<sanitypassing> so someone, somewhere though "OH, HEY, LET'S MAKE THEM TAKE A CLASS ON THAT"
<sanitypassing> and now here I am, writing a speech for a class I really don't need.
<devyn> whoa, I just realized that the break keyword can take an argument
<sanitypassing> lolwat
<purr> lol
<devyn> loop { break true } #=> true
<elliottcable> George R.R. Martin does his writing on a DOS box.
<elliottcable> running WordStar 4.0.
<sanitypassing> seriously?
<elliottcable> yep
malia_ has quit [Quit: malia_]
malia_ has joined #elliottcable
malia_ has quit [Client Quit]
malia_ has joined #elliottcable
malia_ has quit [Client Quit]
Aria has joined #elliottcable
malia_ has joined #elliottcable
malia_ has quit [Client Quit]