ec changed the topic of #elliottcable to: #
* alextgordon needs a DSL for codegen now
<alextgordon> and for sema
yorick has quit [Remote host closed the connection]
cloudhead has quit [Ping timeout: 268 seconds]
cloudhead has joined #elliottcable
cloudhead has quit [Read error: Connection reset by peer]
<purr> <micahjohnston> I GOTTA FINISH TEMPUS SO I CAN MAK GAM IN IT
alextgordon has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
<purr> <purr> elliottcable: a box of lights
inimino has quit [*.net *.split]
inimino` has joined #elliottcable
<joelteon> i don't really like helping noobs
<joelteon> i really just don't
<joelteon> "why is it printing out my input?" "probably because of print(input)"
<jesusabdullah> yeeah
eligrey has quit [Quit: Leaving]
<ELLIOTTCABLE> hi
<purr> ELLIOTTCABLE: hi!
<ELLIOTTCABLE> all
<ELLIOTTCABLE> I didn't start programming until I was older than cuttlebone is now, which is 13.
<ELLIOTTCABLE> jesusabdullah: opposite, I love helping newbies. it's my mission.
<joelteon> is cuttlebone 13 lol
<purr> lol
<joelteon> lol
<jesusabdullah> ELLIOTTCABLE: I like helping newbies but not noobs
<jesusabdullah> ELLIOTTCABLE: newbies pay attention, pick up on things, try to learn themselves
<jesusabdullah> ELLIOTTCABLE: I've helped some severe newbies :) but noobs? people that aren't even really trying? ouch
<purr> <joelteon> dude lenses are FUCKING COOL
sharkbot has quit [Remote host closed the connection]
sharkbot has joined #elliottcable
not-dsam1rin has quit [Read error: Operation timed out]
niggler has joined #elliottcable
jdhartley has quit [*.net *.split]
jdhartley has joined #elliottcable
jdhartley has quit [Changing host]
jdhartley has joined #elliottcable
<ELLIOTTCABLE> god, I'm trying to do EVERYTHING. /=
<niggler> lol ELLIOTTCABLE it could be worse
<purr> lol
<ELLIOTTCABLE> wat, niggler is in here
<niggler> yeah you invited me a long time ago
<ELLIOTTCABLE> I'm buried in termcap and shit
<ELLIOTTCABLE> ughgrtythththththththtth
<niggler> haha
<niggler> what are you trying to do
<niggler> and i recommend looking at ncurses
<niggler> and if you don't like that, https://github.com/chjj/blessed
jvulc has quit [Ping timeout: 260 seconds]
Sgeo has quit [Read error: Connection reset by peer]
Sgeo has joined #elliottcable
<prophile> moo
jvulc has joined #elliottcable
<purr> <whitequark> plastic food is awesome.
niggler has quit [Ping timeout: 260 seconds]
yorick has joined #elliottcable
alextgordon has joined #elliottcable
Sgeo has quit [Read error: Connection reset by peer]
yrashk has quit [Ping timeout: 276 seconds]
<dskuza> ELLIOTTCABLE: had me beat. I didn't start programming til…16/17.
<jvulc> Good morning.
PragCypher has joined #elliottcable
<purr> <alexgordon> elliottcable: wait, are you sucking a pregnancy test? doing it wrong...
<alextgordon> WAT
<joelteon> heh
<jvulc> hah
<dskuza> Gross. But definitely something he would do.
niggler has joined #elliottcable
<dskuza> ELLIOTTCABLE: IRCCloud open-sourced their iOS app: https://github.com/irccloud/ios
cloudhead has joined #elliottcable
<jdhartley> hey guys
<alextgordon> hi
<purr> alextgordon: hi!
<dskuza> purr
<dskuza> you're not a real cat
<joelteon> noyope
<jvulc> "dskuza> ELLIOTTCABLE: IRCCloud open-sourced their iOS app: https://github.com/irccloud/ios" << IIINNNTERESTING
<jvulc> and also their IRC client.
<jvulc> Err Android client*
<dskuza> yeah but who gives a shit about android jvulc
<jvulc> I do.
<jdhartley> nobody
<joelteon> android users
<joelteon> listening to my friends speak, android has apparently absolutely demolished iOS in the mobile sector
<joelteon> nobody uses iphones anymore
<dskuza> give me things to tell the dev i like yelling at him
<jvulc> The thing I like about IRCcloud, which I can't find on a lot of other IRC clients: Working push notifications on Android.
<jvulc> No need to keep the app running constantly in the background either for notifications like Andchat. It friggin' works + most of the time, it syncs the notifications from desktop webchat to mobile.
<niggler> joelteon you are in a bubble
<joelteon> yeah that's what i thought
<niggler> iPhones are king in most places
<niggler> starbucks, dunkin donuts
<jvulc> I've seen a whole lot of Android devices though, particularly the S III, in the last year whether it be old or young.
* jvulc switched from iOS to Android last year and haven't regretted it one bit.
<niggler> I've played with quite a few android devices over the past month but every one of them pissed me off
<niggler> itll be stupid things like inconsistent facial recognition
<jvulc> Fragmentation be damned. They can't use that dialog anymore because I have three different devices on my desk from three different manufacturers and they all have the same OS ... run equally well, no app incompatibilities.
<jvulc> I never use the face unlock.
<niggler> inconsistent doesn't mean that the devices handle things differently
<niggler> inconsistent here means that i need to replicate the lighting conditions and the exact facial expression to get a match
<jvulc> I was just speaking in general.
<jvulc> The face unlock is just a gimmick to show your friends.
<niggler> but even apple's gimmicks "work"
<jvulc> Anyone that actually wants to keep their phones locked will either use pattern or pin locking.
<niggler> work meaning that they do what you expect
<jvulc> I'm sure Siri wasn't 100% accurate when it was released. How's Passbook and Game Center?
<joelteon> passbook is great
<joelteon> game center is game center
<devyn> good morning all
<devyn> I am at the mall
<devyn> capitalism for all
<joelteon> cool
<joelteon> i am testing hsvm
<joelteon> it's slow work
<ELLIOTTCABLE> prophile!
<ELLIOTTCABLE> jvulc|znc: they absolutely *can* make that argument.
<ELLIOTTCABLE> jvulc|znc: the problem with fragmentation isn't one that shows up, at first glance, to a user like you.
<ELLIOTTCABLE> jvulc|znc: the way *you* will experience the fragmentation problems, is through a sub-par selection of apps.
<ELLIOTTCABLE> Quite simply, nobody skilled or sane wants to develop for Android.
<ELLIOTTCABLE> Quite beyond it being goddamn Java, it's *as bad as*, or worse than, dev'ing for the Web (huge inconsistencies, having to painstakingly test your work across a thousand target platforms, having to deal with users using obscure or weird platforms … etceteras … and even more reasons, that I don't want to get into here,)
<ELLIOTTCABLE> but *unlike* the web, they A) have to *pay out the nose* for every single platform they'll have to test on, and B) they *have an alternative*.
<ELLIOTTCABLE> With the web, it's “deal with the DOM and implementational inconsistencies, or walk the other way.”
<whitequark> ELLIOTTCABLE: A) android is majority; B) it's not as bad as you make it look
* whitequark shrugs
<purr> ¯\(º_o)/¯
<whitequark> I mean, from the developer's POV.
<niggler> whitequark 90% of the excess profits in any industry is generally in the top 10% of the market
<ELLIOTTCABLE> On mobile, it's “deal with the OS and device fragmentation, and end up with an inferior product for *more work* that makes you feel bad about yourself,” or “just go build a superior app in a quarter of the time for iOS and feel good about yourself.”
<ELLIOTTCABLE> Obviously, in many situations, the Android or iOS apps aren't *optional* (platform coverage, business concerns, etcetcetc),
<ELLIOTTCABLE> but what that *really* means, in the real world, is that the skilled developers who won't take that shit, migrate back to the one they'll enjoy working on; and the newbies and interns and those who don't have the skills or wherewithal to control their own working environment end up slaved to doing the Android version …
<ELLIOTTCABLE> … or, if the team's too small, it means that the developers who'd rather be putting that testing and annoyance time into more features and better UX, will half-arse the Android version, only putting in the effort they know they can reproduce across the fragmented install-base … and then put the *true* love and effort, their skill and obsession as
<ELLIOTTCABLE> developers, into the iOS app.
<ELLIOTTCABLE> and you end up with shit like twidroyd for Android, and true works of art like Tweetbot for iOS.
<ELLIOTTCABLE> disclaimer: I haven't used Android in approximately a year. If something has hugely changed in the fragmentation space, and now all of the developers are *happy* to be trying to build mind-shatteringly-awesome UXes in Java for a thousand Android variants, that's awesome. More power to them. But last I've checked, it was a huge problem; one bad enough to kill
<ELLIOTTCABLE> any interest I have in the platform.
<purr> <alexgordon> ← the maths is strong in this one
<ELLIOTTCABLE> also related: saw an exciting news article a couple of weeks ago, about Google taking a new approach to killing fragmentation in the Android space. Forget the specifics.
<niggler> ELLIOTTCABLE google play framework
<niggler> it is privileged and can be updated outside of the android OS cycle
<whitequark> ... which means that now there are exactly zero open-source mobile OSes which are *any* good.
<whitequark> fuck.
<whitequark> like, for real.
* whitequark throws his fucking phone out of his fucking window.
<niggler> why are you surprised
<niggler> open source isn't a winning strategy
<niggler> didn't ellison say that once?
<whitequark> niggler: I'm not surprised, I'm annoyed
<whitequark> besides, open source isn't a business model and has zero things to do with it
<whitequark> it's a development model, and as a development model, it's far superior to *everything* else.
<niggler> its funny how certain open source products actually ended up monetizing
<whitequark> well, I think android was in it from the start, sort of
<whitequark> selling consumer shit isn't exactly a place when you can be all white and fluffy and stallmanish
<whitequark> (which is why I'm not surprised, at all)
<ELLIOTTCABLE> whitequark: yep, trudat
<niggler> they started that way to be opposite of apple
<niggler> apple was closed etc etc
<niggler> android was open
<whitequark> ELLIOTTCABLE: which of the sentences?
<ELLIOTTCABLE> I love the idea of webOS
<ELLIOTTCABLE> re: you finally admitting that Android is a worthless pile of shit.
<niggler> webOS was axed
<ELLIOTTCABLE> (worthless, speaking as a consumer; worthless, speaking as a user; and worthless, speaking as a dev.)
<whitequark> ELLIOTTCABLE: I don't, lol
<purr> lol
<ELLIOTTCABLE> webOS still exists!!!!! IN THE SHADOWS. SNEAKILY. EATING YOUR CORN-RINDS.
<whitequark> right now I like where it is and how it works
<ELLIOTTCABLE> but seriously. I really wish there was a Linux of mobile.
<whitequark> it completely satisfies my needs and does it in the way I want.
<ELLIOTTCABLE> Something truly open, something with a modicum of traction, and something that *wasn't* goddamn fragmented-ass Android.
<whitequark> but that's not going to last, and *that* is what I hate.
* ELLIOTTCABLE shrugs
<purr> ¯\(º_o)/¯
<ELLIOTTCABLE> yes, and I can say the same thing about Apple.
<whitequark> you can't have open and no fragmentaiton
<ELLIOTTCABLE> but neither Android-servicing you, or Apple-servicing me, does anything to refute my statement:
<ELLIOTTCABLE> that Android is a worthless pile of shit, as legitimate-satisfying-truly-open-platforms goes.
<whitequark> there are 0 truly open platforms
<ELLIOTTCABLE> and Apple's platform, although infinitely superior, obviously doesn't apply.
<whitequark> PC isn't
<niggler> whitequark the market has spoek
<niggler> *spoken
eligrey has joined #elliottcable
<whitequark> niggler: I don't care
<niggler> and it doesn't give a shit about openness
<ELLIOTTCABLE> niggler: “whitequark the market has spoek” wat.
<purr> beep.
<whitequark> about market
<whitequark> at all.
<niggler> textual lagging
<ELLIOTTCABLE> bbl being a productive adult bye love you <3
<niggler> whitequark just make your own
<niggler> rambo that shit
<whitequark> brb fucking with a proprietary self-bricking pile of shit of a JTAG adapter
<whitequark> niggler: the farther away from the consumer, the more open things are
<niggler> again, the market has spoken
* whitequark sighs
<whitequark> what you're saying essentially translates to "most people are morons"
<whitequark> which is true
<whitequark> and annoying
<whitequark> and not surprising.
* whitequark shrugs
<purr> ¯\(º_o)/¯
<niggler> i used to fight
<niggler> then i realized it was pointless
<niggler> as an individual I don't have the power to change the landscape
<whitequark> fighting doesn't work, of course. you can still work around that, if you have the motivation
<niggler> i don't have the resources to build a compelling alternative
<whitequark> there are people who do
<whitequark> e.g. GTA04
<whitequark> though that's not quite what I meant by working around
<joelteon> my website dev environment takes 47 minutes to install from scratch
<joelteon> assuming GHC is already present
PragCypher has quit [Quit: Leaving]
<whitequark> lolwat
<purr> lolwat
<whitequark> are you compiling it on raspberry pi
<joelteon> no
<whitequark> where
<whitequark> wow what the fuck
<whitequark> foundry (without ocaml or llvm present) finishes the test cycle in a little under 6m
<whitequark> and I consider that high
<joelteon> well, i have to build and install yesod
<joelteon> i really should RPM it
<joelteon> then it'll only take like 5 min
<joelteon> but i don't know how to rpms
<joelteon> i'll find out
<whitequark> ghc is really fucking slow
<whitequark> also travis is deb
<joelteon> oh right
<joelteon> ghc isn't that slow
<joelteon> yesod is huge
<joelteon> some of that is compiling imagemagick, too
<whitequark> what, 7944 lines of log O_o
<joelteon> which takes a few minutes
<joelteon> yeah, hang on a sec
<whitequark> I already wanted to have nothing with haskell
<whitequark> now I want to have even less
<joelteon> my website has 178 dependencies
<whitequark> yes exactly
<joelteon> that's why it takes that long
<whitequark> what the fuck
<whitequark> even rails needs less
<joelteon> most of that is yesod
<joelteon> http stuff
<whitequark> yes exactly
<whitequark> EVEN RAILS NEEDS LESS
<joelteon> that's baked into rails
<joelteon> and ruby is an interpreted language
<whitequark> so?
<joelteon> bundle install in the outright repo takes 30-ish minutes
<whitequark> I don't think so
<whitequark> hang on a sec
<joelteon> ok, but it does
<whitequark> perhaps you're doing it wrong then
<joelteon> ok
<whitequark> so, our really huge app with just under 200 deps and database-hitting tests
<joelteon> the resolver is pretty slow in low ram
<whitequark> finishes the test cycle in 9min 37sec
<whitequark> on travis
<joelteon> what app is that
<whitequark> amplifr.com
<joelteon> huh
<joelteon> well, if you put it that way
<whitequark> though you won't see the admin interface anyway
<joelteon> our pull request builds on jenkins
<joelteon> the dependency installing bit takes about 60 seconds
<joelteon> bundle's resolver is insanely slow in low ram
<joelteon> but the test boxes have 16GB each
<whitequark> evidently whichever ram travis has is not a problem
<joelteon> yeah, so dropping and recreating the databases + migration
<joelteon> takes about
<joelteon> 1:30
<whitequark> though, hmm, if they provide less ram to opensource stuff that might be
<whitequark> all my shit runs on their paid service
<joelteon> it's the tests that takes awhile
<joelteon> take*
<joelteon> selenium is fairly slow
<joelteon> anyway, there's no compile time in ruby, so an analogous test setup would be me setting up a package for my site that includes all the dependencies
<joelteon> then just running yesod test
<joelteon> which takes like 45 seconds
<whitequark> well, look what I said above
<joelteon> where
<joelteon> you said a lot of stuff
<whitequark> ah, you mean pre-compile the site
<whitequark> well
<joelteon> yeah, i mean package it, install it with apt during the test, and yesod test
<whitequark> it's not really a fair comparison
<whitequark> to begin with a buildbot is supposed to build
<joelteon> yeah
<joelteon> and in ruby, you don't build
<joelteon> come to think of it, i might be able to install quite a bit of these dependencies with apt
<joelteon> lens does that and the builds take 9 minutes
<whitequark> what the fuck is with names in haskell
<whitequark> it's even worse than in ruby
<joelteon> ok
<joelteon> huh, there's libghc-yesod-dev, i wonder what version it is
<whitequark> it's not "probably"
<whitequark> it has exponential worst case complexity
<whitequark> with "worst case" being "invalid syntax"
<joelteon> where
<whitequark> you basically did backtracking didn't you?
<joelteon> is the invalid syntax
<whitequark> eh?
<joelteon> yeah, backtracking
<whitequark> invalid syntax = if something you're trying to parse doesn't satisfy the grammar
<joelteon> what, so a parse failure?
<whitequark> yeah
<joelteon> so i'll get a parse failure if the input doesn't parse?
<joelteon> that seems...predictable?
<whitequark> um, you're supposed to get it?
<whitequark> I don't think you understood me
<joelteon> no i didn't
<whitequark> what I'm saying is that the exponential complexity can be best seen for the input which doesn't parse
<joelteon> oh
<joelteon> worst case is invalid syntax
<joelteon> i understand now
<whitequark> yes
<whitequark> well, it's generally too complex, but the invalid syntax case allows someone to eg reliably DoS you
<joelteon> oh, sure
<whitequark> you can avoid that partly with memoization
<joelteon> do you know how pcre avoids that?
<whitequark> it doesn't
<whitequark> one sec
<joelteon> ok time to read that
<whitequark> tl;dr: pcre doesn't, sed uses nfa
<whitequark> BUT
<whitequark> regexps are regular, your grammars are context-free
<whitequark> so you can't use nfa in general case
<whitequark> the simplest thing to do is memoization
<whitequark> this turns exponential time complexity into linear space
<whitequark> complexity
<whitequark> which in practice is still a mess
<joelteon> ok
<whitequark> because if you memoize every parser rule, your space's going to blow up
<joelteon> what do I memoize?
<whitequark> hm
<whitequark> i dunno how to integrate it with your parser combinators
<whitequark> i've seen a guy who also used parser combinators in haskell to solve this problem by memoizing only where needed, ie manually placed memoization
<whitequark> but the article's in russian so I doubt it will help
<joelteon> and as I expected, libghc-yesod-dev is like 3 versions old
<whitequark> it's debian
<whitequark> so of course
<joelteon> yeah :\
<joelteon> the only worth I could get out of backporting this to old yesods is faster tests
<joelteon> that or I just build a yesod package myself
<whitequark> it's rather trivial to build new debian packages
<whitequark> well, new versions
<whitequark> if you have an old one
<joelteon> yeah i dunno how to do it but it can't be that hard
<whitequark> apt-get source pkg; replace shit; dpkg-buildpackage -b
<joelteon> neat
niggler has quit [Quit: Textual IRC Client: www.textualapp.com]
<devyn> debian sad :(
<joelteon> but
<joelteon> apt-get source libghc-yesod-devel only produces the yesod source
<joelteon> oh wait
<joelteon> dpkg builds it doesn't it
<whitequark> no
<whitequark> invoke dpkg-buildpackage -b from the directory where it unpacked the source
<whitequark> well, just look at the manual for dpkg-buildpackage
<joelteon> ok i'll try it
cloudhead has quit [Read error: Operation timed out]
<joelteon> ohh, i see
<joelteon> so now I have to build packages for ALL the dependencies
<whitequark> yes
<joelteon> i bet i can automate this process though
<joelteon> it's worth it
<joelteon> i really just need an ubuntu box
<purr> <incomprehensibly> STRAWBERY AVALNGELHTA
<joelteon> well, yesod 1.2 is on saucy salamander
<joelteon> but travis is running precise, or whatever
alextgordon is now known as alexgorton
alexgorton is now known as alexgordon
<purr> <sephr> the bits in this one new folder are really slow
<devyn> lol
<purr> lol
<devyn> that's quite the sephrism
yorick has quit [Remote host closed the connection]
<joelteon> ok, so
<joelteon> yesod is not provided as a library on ubuntu precise
<joelteon> not the newets one
<joelteon> newest one
<joelteon> which means
<joelteon> i need to have my own build server
<joelteon> if i want builds to finish in less than an hour
<joelteon> yeah, so that's
<joelteon> 11 seconds vs 45 minutes
<joelteon> :|
<alexgordon> WHERE ARE ELLIOTT AND MICAH
<alexgordon> FONDLE MY BRAIN
<joelteon> so what should I use for my build server, guys
<alexgordon> joelteon: A COMPUTER
<joelteon> ok
eligrey_ has joined #elliottcable
eligrey has quit [Ping timeout: 240 seconds]