Progressive Web Applications - Fortune

Progressive Web Applications

Zajt Hello! Is this UML diagram https://go.gliffy.com/go/share/sm4frpobsubifu6j6jv8 a correct example of the factory method design pattern?
rindolf Zajt: is this homework?
Zajt rindolf kind of, it's from school work but the purpose is not to make an UML diagra. I just try to explain the pattern by making this figure, but needs to be sure that it's correct so I don't miss anything in it
rindolf Zajt: ah
rindolf Zajt: it figures that it is schoolwork
SPEEDRAC1ST UML's main purpose is to keep CS profs employed and students busy
rindolf SPEEDRAC1ST: heh
iawc Though the profs still suffer a concaussion when doing both at the same time.
Zajt rindolf what do you mean?
rindolf Zajt: UML and Design Patterns are not oof much interest elsewhere
SPEEDRAC1ST design patterns became a buzzword recently
SPEEDRAC1ST also, "anti-pattern"
Zajt yeah but did you read what I wrote above? I do it for a report in school so I have not an exercise that says "Write this UML-diagram", but I have done it myself just to illustrate the problem. But I want to make sure it's correct what I have done
Groogy design patterns and anti-pattern are super old buzzwords
Groogy what do you mean recently
Groogy the last 30 years?
SPEEDRAC1ST recently there was a resurgence of those
Groogy lol okay
SPEEDRAC1ST "we're kewl, we use JavaScript design patterns"
Groogy Designu-patteru-jutsu
SPEEDRAC1ST are you a pattern-ninja?
Groogy HAI!
SPEEDRAC1ST then join our innovative revolutionary startup which has lots of hype and VC monies
Groogy Actually I think it is good to read about design patterns and anti-patterns, to just have in back of your mind. But to actively try and "apply" the "molds" is not really the intent of it
SPEEDRAC1ST some of those are neat. the ones that are about complexity management, and organization
SPEEDRAC1ST but most are barely necessary
SPEEDRAC1ST but overall, WTF would one need design patterns to make yet another web app?
rindolf SPEEDRAC1ST: is it a disruptive startup?
SPEEDRAC1ST it's about to disrupt at least 3 industries
rindolf SPEEDRAC1ST: heh
rockman37 Has anyone made a webapp for making webapps yet?
bookworm WordPress
rockman37 Hah.
Groogy but from a glance it looks like you have what I would expect out of a factory
SPEEDRAC1ST AI can drive cars, but can't make web apps yet
rockman37 My friend's friend is apparently working on a mobile app for making mobile apps.
rockman37 (Which my friend plans to use to make a mobile app.)
PlanckWalk There are tons of apps for making apps
SPEEDRAC1ST PlanckWalk: none of them are functional, since an emulator is required to run one
SPEEDRAC1ST also, they don't solve the distribution problem
merijn Hell, people can't even make decent apps yet...
SPEEDRAC1ST define decent
SPEEDRAC1ST Instagram and Snapchat are totally decent for uploading food pics and duckface pics
merijn SPEEDRAC1ST: They're several gigabytes larger than they should be
ongy snapchat? isn't that exclusivly for sexting?
ongy you have phone apps that are multiple gigabytes?
SPEEDRAC1ST merijn: so is all software these days, except for embedded
SPEEDRAC1ST ongy: if you include the SDK, yes
merijn ongy: I'd like to introduce you to my friend, the hyperbole :)
SPEEDRAC1ST mobile apps themselves are 100s of MB
rockman37 Which is still huge for a program.
rts-sander these apps take hundreds of terabytes to display a single butten!
rindolf merijn: are they a boy or a girl? ;)
rockman37 fuck buttons
Groogy well sometihng I guess? I don't really know the task you are having from your teacher
merijn rts-sander: Ah, I see you too have downloaded slack?
merijn rindolf: Probably a boy, hyperbole is constantly 1-upping people ;)
SPEEDRAC1ST Groogy: Zajt: http://www.developermemes.com/wp-content/uploads/2013/03/java-problem-factory.jpg
rindolf merijn: :)
rockman37 SPEEDRAC1ST: rofl
rindolf SPEEDRAC1ST: heh, still funny
rts-sander hahaha Java is verbose hahahaha
merijn rts-sander: I refuse to download atrocities that spend 500+MB memory just to run IRC >.>
rockman37 I refuse to download atrocities full stop.
merijn irssi is taking 8MB after running for, like, 2 weeks straight in 15 channels...
rts-sander lightweight software is the best!
SPEEDRAC1ST merijn: Firefox sometimes takes 2+GB of RAM
rts-sander lets port it all to webapplications
xssposed what about weechat
ongy I had chrome at >3G. fun times
xssposed i use it a lot
xssposed its nice
SPEEDRAC1ST Facebook tab sometimes eats 100s of MB running all of the tracking and ad JS code
Groogy I've had weechat running for more than a mount without restart
Groogy 25mb
SPEEDRAC1ST rts-sander: heard of progressive web apps?
merijn ongy: WTF are you doing? Chrome is at, like, 1GB for me with 40 or so tabs open in 4 windows
Batholith Chrome likes to eat RAM, that is known
Zajt haha SPEEDRAC1ST
rindolf here kwin_x11 consumes more RAM than firefox - no idea why
xssposed theres an extension that counteracts chromes hunger for ram. i forget the name of it, but it saves 90%
merijn Chrome's memory usage is increased a bit by the fact that it uses 1 process per tab, but it's not that drastic. Most of the gross memory usage that people blame on Chrome is just really "websites being shitty in the 2010s"
rockman37 rindolf: Is it huge, or is Firefox small?
xssposed has my browser running faster
rindolf rockman37: well, i recently restarted ff
rockman37 rindolf: Ah.
rindolf xssposed: heh, nice nickname
SPEEDRAC1ST websites also have gotten a lot fatter
SPEEDRAC1ST probably due to ads
rockman37 We should stop feeding them or something.
xssposed rindolf: heh, ty
* rindolf recently reduced the HTML of his site
rindolf using https://github.com/kangax/html-minifier
SPEEDRAC1ST also, JS frameworks and libs are 100+K LoC
rindolf SPEEDRAC1ST: are they webscale?
SPEEDRAC1ST maybe. they're responsive for sure
rindolf http://shlomifishswiki.branchable.com/slash-dev-null_is_WebScale/
SPEEDRAC1ST webscale is usually said about databases
rindolf SPEEDRAC1ST: both responsive and progressive? Impossibru
rindolf you can only have at most 1
SPEEDRAC1ST progressive is the new buzzword, gotta replace them to keep the hype alive
merijn Man, the one JS keyword that pisses me off the most is "isomorphic", because that's not what isomorphic means, you jackasses
rindolf SPEEDRAC1ST: are progressive web apps webscale enough?
ongy I want a /dev/null directory to copy things into...
SPEEDRAC1ST rindolf: come on. webscale is so 5 years ago :)
rindolf ongy: use asynchronous writes
okuu merijn: I edited the “isomorphism” tag on Stack Overflow to explicitly refer to, you know, isomorphisms. :-p
rindolf SPEEDRAC1ST: heh
merijn okuu: <3
merijn ongy: Why?
SPEEDRAC1ST merijn: is it a reserved keyword?
merijn SPEEDRAC1ST: No, it's "running the same code on the client as on the server", or some shit
SPEEDRAC1ST JS's scope pisses me off the most. something as simple as accessing a variable inside foreach is complicated
SPEEDRAC1ST merijn: oh, you mean buzzword
merijn s/'s scope//
merijn SPEEDRAC1ST: Yeah, I haven't had my coffee yet
okuu SPEEDRAC1ST: But there is an excuse - JavaScript was designed in 10 days!
rindolf ongy: mount /dev/null as /home
okuu Errr, designed and implemented.
SPEEDRAC1ST okuu: because Netscape managers rejected a Scheme-based language. and Self-based one too
okuu rindolf: Double-checking my solutions to my topology handout.
merijn I respect Brendan Eichman, because for something designed and implemented in 10 days JS is an impressive feat. But as language...god...fuck it
merijn okuu: Sounds more fun that figuring out how to formulate my API to work with 3 slightly different libraries that don't have a common API :)
SPEEDRAC1ST merijn: he proposed to use Scheme, Netscape said "no way". Then he decided to prank them with JS. and now we're paying for it
ongy rindolf: still a file, so I can't access /home/ongy
ongy merijn: because I wanted to direct an output directory to /dev/null before and it didn't work
okuu merijn: At least I'm allowed (in fact, required) to make sense.
merijn okuu: Trying to make my library play nicely with pipes, conduits, and just regular old forM/mapM...it's...tricky :p
rindolf SPEEDRAC1ST: it needed to resemble Java
merijn ongy: I don't quite understand what "copying to /dev/null" is supposed to do, though?
rindolf merijn: oooh - buzzwords
mniip but those are words
merijn rindolf: Hmm?
ongy merijn: why are you doing that? is it something you want others to use?
rindolf merijn: "pipes", "conduits"
okuu rindolf: Haskell plumbling libraries.
merijn rindolf: They are haskell libraries :)
ongy merijn: ignore all output that should be written there. sometimes I need that
merijn ongy: Because I use a mix of pipes and conduits in different projects and I find myself reinventing the same boilerplate
merijn ongy: And I wanna be done with it once and for all
SPEEDRAC1ST I've learned about Cloud Haskell a few months ago
SPEEDRAC1ST I guess they chose the name for marketing reasons
mniip merijn, that "once and for all" bit sounds unconvinving
okuu rindolf: Basically, so that you can replace “going crazy debugging” with “doing crazy with types” when doing stream processing. Although the “going crazy debugging” is sometimes not completely avoided.
merijn mniip: Why?
rindolf okuu: heh, sounds nasty
okuu rindolf: Yeah, but it's how Haskellers think.
rindolf okuu: haskellers are crazy?
okuu rindolf: Everyone is crazy in their own way.
mniip I must say haskell debugging sucks
rindolf okuu: true
iawc okuu: Haskell is just an API for common structures.
mniip why does everyone try to mimic imperative program debugging
merijn okuu: To be fair, conduits/pipes DO make some tasks that are really obnoxious in other languages really nice
iawc Or is that Ruby?
mniip functional semantics need to reflect respectively in the debugger
iawc They seem the same in a way.
rockman37 iawc: Ruby and Haskell?
merijn rindolf: Basically, they abstract over "I want to stream process data from a pipe/socket/file/whatever in constant memory"
SPEEDRAC1ST sounds like a job for a queue
okuu merijn: Then it turns out you want to backtrack, and everything goes to hell.
rindolf rockman37: reminds me of that guy who said Visual Basic was essentially the same as C++
merijn okuu: So, don't do that then :)
merijn okuu: I have plenty of cases where I don't need that
merijn okuu: If you need backtracking, use STM or something
okuu merijn: I have to admit, when you don't need to backtrack, pipes and conduit are very nice.
rindolf rockman37: and then went on to try to create a lossless audio compression that could compress a 40 MB WAV file into 20 kB
rockman37 rindolf: Well, I wouldn't touch either :p
merijn SPEEDRAC1ST: Yeah, except that all the annoying bits of getting data, putting them in queues, adapting your code to read from them, etc. has all been done for you
rockman37 rindolf: Lossless?
mniip something something yoctoparsec
rindolf rockman37: yes
SPEEDRAC1ST merijn: by the corresponding librarires?
merijn SPEEDRAC1ST: They're basically a bunch of tools for turning stuff like a parser for a single object you wrote into one that gets fed data on demands and output an object every time it finishes (with further tools to incrementally process those)
merijn SPEEDRAC1ST: It's not earth-shattering rocket science. It's just a bunch of really convenient tools that I haven't found an adequate replacement for in other languages
okuu merijn: Probably because they aren't conveniently expressible in other languages. :-p
mniip everything is possible when you have programmable semicolons
rindolf rockman37: i think he was the one who was going on about that Planet Source Code thingy
okuu SPEEDRAC1ST: Think iterators on steroids.
SPEEDRAC1ST merijn: ok. I haven't had that exactly problem, but if I had I'd use something like Elixir's GenStage
rockman37 Programmable semicolons sound nasty.
rockman37 rindolf: Haven't heard of that.
mniip rockman37, ish, perl does that all the time
rockman37 "4.3 million lines of source code examples and apps to build from." Hmm...
rockman37 mniip: Interesting.
iawc howdy do dat?
mniip anyway, I remotely remember someone saying that monads (their do-block syntax specifically) are just programmable semicolons
rindolf rockman37: under a contradictory licence
rockman37 rindolf: Serves users right, I say.
Channel ##programming
Network Freenode