« first day (1286 days earlier)      last day (2278 days later) » 
01:00 - 20:0020:00 - 00:00

1:10 AM
wow that is oddly fun
i love the routing
looks gorgeous
1:29 AM
anybody here?
I have a website
and I'm making an app for it
should I write an API and use it in the app or not?
(i.e. - does Facebook use the Facebook API for their app or not)
why are you making an app for a website that you can easily view on a mobile?
Facebook can be easily viewed on a mobile
it's a little more organized I'd say
Its a lot of extra work, unless you've got a metric buttload of users its probably not something you want to bother with. or unless there's a specific thing about mobile you can leverage.
1:42 AM
So no API?
well, what does the API do?
if your API is acting like the data layer, then your app is really just a very fancy web page
Yeah, I know... I was just wondering what Facebook did because for Facebook it's really just a fancy web page
2:01 AM
@AshleyNunn btw, alpha7 version of micro metro appears to have unlimited tunnels but they take a speed hit going through.
@MichaelT Oooh, I am intrigued
Dev blog link: devlog.dinopoloclub.com
follows the tumblr
@MichaelT awesomepants :D will play lter
@MattD Its a very well done game... though watch out, its kind of addicting.
2:09 AM
is that yours?
Nope. One I found from Steam green light and went "hmm" and then started playing.
yo Michael T
suppose I have a website
and I'm creating an API for other developers for objective-C
When I create my website's app, should I use my own API
@MichaelT And then infected the rest of us with its awesome
@Shahar Dogfooding tends to be a good thing. IIRC, Amazon did a "you will only use the same interfaces we give our customers" internally to make sure they were fast and what was actually needed rather than "here's some stuff that you can use" but going to internal only access calls.
dogfooding? Woof?
2:13 AM
Eating your own dog food, also called dogfooding, is a slang term used to reference a scenario in which a company (usually, a computer software company) uses its own product to demonstrate the quality and capabilities of the product. Introduction Dogfooding can be a way for a company to demonstrate confidence in its own products. The idea is that if the company expects customers to buy its products, it should also be willing to use those products. Hence dogfooding can act as a kind of testimonial advertising. InfoWorld commented that this needs to be transparent and honest: "watered-down ...
Yeah I kind of got the definition of that haha
but I mean
does Facebook let's say use their own API?
I see why it's a good idea (to check for bugs and stuff) but not sure if it's the right approach
If you are using an awkward API (that you control), you fix it and make it better.
If you are using an internal API and giving an awkward API to others, you don't know their pain.
2:15 AM
You don't know their performance issues.
unless they report to me...?
Or they decide to go do something else instead.
yeah, probably the latter
> Apple gets it, obviously. They’ve made some fundamentally non-open choices, particularly around their mobile platform. But they understand accessibility and they understand the power of third-party development and they eat their dogfood. And you know what? They make pretty good dogfood. Their APIs are a hell of a lot cleaner than Microsoft’s, and have been since time immemorial.
2:17 AM
The Golden Rule of Platforms, “Eat Your Own Dogfood”, can be rephrased as “Start with a Platform, and Then Use it for Everything.” You can’t just bolt it on later. Certainly not easily at any rate — ask anyone who worked on platformizing MS Office. Or anyone who worked on platformizing Amazon. If you delay it, it’ll be ten times as much work as just doing it correctly up front. You can’t cheat. You can’t have secret back doors for internal apps to get special priority access, not for ANY reason. You need to solve the hard problems up front.
That's actually true
One benefit of proper dogfooding is, if you intend to expose your internal APIs publicly, they will actually be usable. At Amazon, Jeff Bezos famously issued a mandate around 2002 requiring all teams to expose their data and functionality via service interfaces, and for all teams to communicate with each other through these interfaces. Direct linking, direct access to databases, and other back doors were prohibited. All of these service interfaces also needed to be designed from the ground up to be exposed to the world. The mandate ended with "Anyone who doesn't do this will be fired.
(parts of that second link are in the search engine land link above)
2:20 AM
Yeah I'll probably get started on the API then
Thanks... I'm going to name all my variables dogfooding now lol
alright good night
NSNumber 🐕food = 4;
Incidentally, the company I work at... we're building our own internal CRM. Its named after the dog one of the employees owns.
such a waste of engineering effor t;)
Well, we're building one for customers... and we really don't like where Sugar has gone.
2:37 AM
Yea! clean final screen shots!
Holy crap so many people
You cant currently erase lines, can you?
3:12 AM
I got up to 520
that was my high score
Then the green train pooped out on me
@MichaelT clearly you should do it in ruby
@AshleyNunn If you backtrack it all the way to the 'start' you erase it.
@MichaelT oooh yay
3:32 AM
I tend to like the overlapping loops.
@MichaelT I find they work rather well
the passengers seem to figure out the best routes pretty damn well
I really enjoy how subtle the zooming out is
4:17 AM
Asking the question programmers.stackexchange.com/questions/232068/… has lead me to this chatroom...
@Manny ask away
chat is rather quiet right now, and there's no guarantee you'll get an answer
but no one will stop you from asking
@Manny Your question as it stands is impossibly broad.
I see...
Hmm, let me think how I can narrow it down
Find a problem you've encountered in your framework. Distill that one case into a question.
I'm particularly interested in making it extensible i.e. the plugin system..
The initial plugin system is already coded, but how do I know if it's correct? I have not much experience in making a system pluggable
4:24 AM
@Manny Experiment. Make some plugins. See how well they work, then iterate on that.
Might look at existing Javascript libraries that claim extensibility and see what they did
@MichaelT best yet!
in any case, it's time I went to bed.
Might drop into SO's JS chat and see what they say.
Thanks @Wor
Thanks @WorldEngineer I'll check that
1 hour later…
5:36 AM
we've got a spammer! programmers.stackexchange.com/users/35561/hayim-makabee (remember, no more than 2 down votes on their post, othervise brainless serial reversal script will turn it back)
3 hours later…
8:29 AM
free spam flags, posts from yet another spammer: programmers.stackexchange.com/users/123026/user2646760
6 hours later…
2:02 PM
@Ampt A grand central approach. Make sure you upgrade the station if you go that way.
2:33 PM
@MichaelT yeah that's what got me
I overextended the green line too
it served two specialties, and that last circle could have been done by yellow
Got my roommate addicted
his new high score:
He figured out that clicking on the clock lets you pause
and you can rebuild while paused
wtf lol
you guys are making me feel bad at my score when I messed around some the other day
fortunately it's just a game, right?
@enderland a game that you can play again.. and again... and again... and again
eh, I'm at work
@Ampt You didn't know that? (Granted, the dev admits it is the hardest pause button to find)
No. Got to 620 without it though!
2:45 PM
> The clock in the top-right is the world’s most obscure pause button.
@Ampt oh, I didn't realize you could rebuild when paused. that will make the game a lot easier huh
@enderland Its very useful for largescale restructuring of a line.
Though people joke about a 'hardcode mode' with no pause button.
3:21 PM
C is a perfectly good first language. But you don't wear a helmet when you program with it, and people are so safety conscious these days. — Robert Harvey 41 secs ago
3:31 PM
> I asked this on the stackoverflow forum, and it got downvoted for now being a concrete programming problem, so I'm trying it here. I apologize if it's irrelevant here also.
Q: Why is it common to say “link against a library” instead of link with a library?

poonIt seems more natural to say link with a library, rather than link against a library, so I've always wondered. I asked this on the stackoverflow forum, and it got downvoted for now being a concrete programming problem, so I'm trying it here. I apologize if it's irrelevant here also.

let's drop some crap here and there and see how it sticks
oh, and cross-posting is there too
Q: Why is it common to say "link against a library" instead of link with a library?

poonIt seems more natural to say link with a library, rather than link against a library, so I've always wondered.

full house
migrate to Workplace?
@gnat har har
Against 4. into contact or collision with; toward; upon: The rain beat against the window.MichaelT 1 min ago
Though I'd be tempted to send it to ELU.SE
3:57 PM
I think you're laboring under a number of false assumptions. First, I disagree with your assertion that "link against a library" is the most commonly-used term. Second, your relative understanding of these specific English words is not going to affect your ability as a programmer one way or another, so ultimately your question is uninteresting to anyone, here and on Stack Overflow. Sorry to be so blunt about it; but we prefer to focus on less vaporous issues. — Robert Harvey 1 min ago
Just another user who thinks we're a social network.
People still call it a FAQ, even though the FAQ disappeared months ago.
If he is really interested in the English language aspect of it, P.SE isn't the place to ask. It might be an acceptable question if worded correctly on ELU or ELL.
@MichaelT I've been playing on hardcore mode this whole itme
Senior engineer just asked me about a sticky under our incidental task with my handwriting
I have no recollection of said sticky
uh oh.. haha
Aren't stickys like SE comments? They don't really exist...
4:12 PM
@RobertHarvey they are our tasks for our stories
@AshleyNunn you should do a rename of all the south park stick of truth titles to a more 'proper' wording. "What are the consequences of passing gas on someone's testicles?"
@MichaelT my roommate bought that and loves it so far
apparently he just learned how to fart
@Ampt have you seen the questions on Gaming.SE for that game?
Q: Use of Unmodified AGPLv3 lib - am I AGPL too?

JonSo, I've been reading the AGPL and here is my understanding (not being a lawyer and I'm not trying to look at it through the lens of "Since I WANT it to be ''free'', it therefore is.". In my case, I am considering the use of itext, an AGPL library, to crack open PDF files and extract the text - ...

@MichaelT yes, and they are all hilarious
4:13 PM
"How do I find a loophole in the AGPL?" ----^^
@RobertHarvey The way you do it is you make a seperate application that you then invoke. You pass it a pdf, it gives you back a json. This is a public and free (libre) web app. Then you invoke it, get the json and do your non-agpl stuff with that.
So you're saying just write a wrapper? Even if that meets the letter of the license, I doubt that it meets its spirit.
It works for the GPL.
But that said, I wouldn't touch anything with the AGPL with a 10 foot pole because of the extreme infectioness of that license.
ugh. software licensing. Definitely my least favorite part of dreaming of running my own company..
4:17 PM
How would that work? That means I could take any GPL library and make it non-GPL just by wrapping it in my own code. I doubt the FSF considers that a valid story.
>you thought about this AGPL lib while designing that one, now it's AGPL as well
You make a completely separate executable, invoke it through the command line.
@ratchetfreak That's the TAGPL.
@MichaelT FSF calls that "arms-length communication." They don't like it, but they do concede that it is a valid workaround.
Its not linked at compile time or runtime.
4:19 PM
Yep. And I'd keep the AGPL as far away from my code as possible.
And its very likely a valid workaround here too. Otherwise any web service thats out there that is AGPL would mean that the data from it would carry that license too.
It's like... a virus...
So you hit some arbitrary web service out there and its AGPL licensed... you can't impose the license of the arbitrary web service on anything that uses it.
Soon AGPL will contaminate everything, and then the day of reckoning will come.
@Ampt I'm part of the BSD faction.
4:21 PM
@MichaelT There are no factions in front of our god, Henry Poole
A: AGPL - what you can do and what you can't

Mark HThe AGPL is based on the GPL, not the LGPL. It does not contain any linking exceptions, and any work using AGPL code (linked or otherwise, modified or not) must also be AGPL licensed and distributed. Using separate processes can circumvent the (A)GPL, but this is murky ground. If your end applic...

4:49 PM
Oh, came across this link last night and it made me chuckle a bit. venturebeat.com/2013/10/11/…
really all you need to see
saw that extra fluff on the end I had to cut
Thats the look of a crazy person.
Notice how much code it takes to write hello world.
> The solution is Haskell, the purest functional language that has been in development for over 20 years.
I literally laughed at that
> This is possibly one of the silliest articles I've ever read. Did it come through a time warp from Usenet circa 1994?
Had to double check I was reading something serious them
4:56 PM
@AndyBursh you can edit messages by hovering just to the left of them, or hitting the up arrow after sending a message. Edited messages have a little pencil on the left <--
> Anyone who thinks all languages are the same hasn't used PHP. Haskell is probably good, but there are not enough libraries that use it to make it useful in my work.
> When working with Haskell, the programmers found that
they spent little time debugging and testing their code.
Probably because they weren't writing any code
bad sign that
We just need to wait for php to pick up haskell mode... I mean, its got everything else.
4:59 PM
@ratchetfreak We mainly like to poke fun at haskell because one of our residents (@JimmyHoffa) loves it
it's not a terrible language
of course these articles are all advertisements to get you to buy some IDE or another
kinda figured...
I don't have much experience with haskell to judge either way
Q: Tag merge / synonym request: [srp] → [single-responsibility]

gnatPlease merge tag srp (26 questions) into single-responsibility (27), and make them synonyms. Preference for master tag is because I consider single-responsibility a more descriptive name. Tag srp wiki excerpt is In object-oriented programming, the single responsibility principle (srp) sta...

Plug for Common sense
The World Wide Web is 25 years old tomorrow
@MichaelT paulgraham.com/submarine.html that article you posted is doing Haskell no favors, sounds like FPComplete needs to pay a better PR firm...
XKCD what-if is publishing a book, lets hope there are no bobcats sent out
5:06 PM
@ratchetfreak Oooh, that could be neat
> This article is horrible. First of all, C is one of the most pure and long time vetted languages out there. C# and Java follow closely behind. To lump these three languages in with non-type safe languages with non declared types like Python and Ruby which are also NOT COMPILED is like... HOMER SIMPSON DOUGH!!!!! This is NOT a comparison that should be made. the BIGGER story... a ton of startups are TOO DUMB to manage to develop their apps in C# or Java and slog off into Ruby or Python or worse PHP and then wonder why they end up with spaghetti when they know nothing about object oriented
the bobcat in a box?
Eesh... the fact that is the way industry programmers think about things is explanation enough of why FP will never succeed
@ratchetfreak No! The book! Unless it is a tame bobcat. Although I think my apartment is a little small for that.
@Ampt No, apparently it has "game changing strategic benefits". And "One large bank rewrote a large Java application in Haskell and reduced the code from 5 million to 1 million lines."
Which made me think of "We dropped FP Complete into this MUMPS health care application vendor's programming division, and within minutes the programmers were bashing each other on the head with chairs like the apes in 2001 A Space Odyssey, reducing the code base from 14 million LOC to rubble in less than a day."
5:09 PM
@MichaelT That's tempting....I mean I still don't have the gold editing badge, and I am sure everyone ever would appreciate those edits.... (in all seriousness, man, those question titles...that game was -made- for ridiculous question titles. I swear.)
@AshleyNunn it's South Park what did you expect
@ratchetfreak Precisely that. :)
@psr the commenter saying "First of all, C is one of the most pure and [...]" just speaks to why so many industry programmers, MUMPS top of the list, have no reason or purpose to ever touch Haskell. Seriously, MUMPS programmers are unlikely to ever get past the type checker. (however from the MUMPS shorthand lines I've seen, I suspect they might highly enjoy a point-free combinatoric style of Haskell)
Fuck it, I know the FP for MUMPS programmers...
@AshleyNunn Propose it on April 1st as a joke.
@ratchetfreak It is truly a language to genuflect toward.
5:13 PM
As an aside, I stumbled across a curious bit of Jewish law/tradition last night on SE.
@JimmyHoffa I've dealt with programmers that had trouble with recursion. Any recursion. Haskell would immediately hit them with a dozen things that would make their head explode. They could maybe be OK with Java after a couple years.
Q: Why do we not shower every night?

YEZThe Gemara in Megillah 7b is clear: חייב איניש לבסומי בפוריא A person must smell good in bed However, I have seen that people are not careful about this. In fact, I have known some Yeshiva students who are incredibly scrupulous in other areas of Halacha go for days without showering! ...

Q: Purim Torah policy - Allowed, but regulated

Isaac MosesGenerally, we expect all questions here to be written from the point-of-view of genuine curiosity, and we expect all answers to be genuine attempts to provide real information and analysis that directly addresses the question. However, the community has indicated that, if regulated carefully, Pu...

@psr They don't need recursion - just print endless alligators and eggs and they can implement their loops manually...endlessly...
It'll be no less or more productive than Haskell would be for them.
@JimmyHoffa That's actually still just as hard. It's like making a turing machine but calling it an ant with a map. Doesn't make the busy beaver problem easier to solve.
@MichaelT You saw the tag though, right?
5:15 PM
@psr After I read it. Interesting bit of tradition.
@psr Let's be clear though. Busy beavers gladly eat ants and maps, so the approach you suggest is really not fair.
@MichaelT If you don't read Hebrew it's hard to know what to take seriously. It might be a deliberate misreading of some of the text.
There's some talk about it and its relation to other cultural traditions and how that applies to Stack Exchange.
Alex Miller on March 06, 2012

With the recent “REP-OCALYPSE” that happened over the weekend, we thought it was a great time to do another podcast – so come join Joel, Jarrod, and Josh as they talk about some of the recent changes to the site and the motivations behind them.

JOEL: This is not necessarily a podcast, but it might turn into something useable, perhaps in the form of a podcast, maybe. The goal is to talk about all of the questions that are getting closed, aka REP-OCALYPSE NOW.

Part One: there has been closing and deletion of very popular old questions going on lately. Are we happy with how this is going? What are the other options? …

@MichaelT Reading Mi Yodeya always confuses me some - there is so much complexity to it all, even when they aren't being entirely serious.
5:19 PM
While I don't understand hebrew (I might have a chance with greek), I do acknowledge that it takes a deep understanding of the peculiarities of the text for law (or RFC standards or whatnot) to properly parody it.
@MichaelT As with most things, to parody properly takes more work and knowledge than most people expect, I think.
Another example of this type of tradition (it keeps showing up if you look for it)
In England, the Lord of Misrule — known in Scotland as the Abbot of Unreason and in France as the Prince des Sots — was an officer appointed by lot at Christmas to preside over the Feast of Fools. The Lord of Misrule was generally a peasant or sub-deacon appointed to be in charge of Christmas revelries, which often included drunkenness and wild partying, in the pagan tradition of Saturnalia. The Church held a similar festival involving a Boy Bishop. This custom was abolished by Henry VIII in 1541, restored by the Catholic Queen Mary I and again abolished by Protestant Elizabeth I, though...
@AshleyNunn Mi Yodeya? No, you should be reading yoneda, I think you got it confused with something else.
(which has a modern tradition at Bracebridge in Yosemite... one of the things I really want to do at some point)
5:22 PM
@ratchetfreak hey btw, you should totally learn Haskell. It's like, the best language ever. It'll make you a better programmer while simultaneously making you hate everything and giving you a migraine that never goes away. IT'S AWESOME. You should totally do it. I'll be happy to help, here let me get you some links that will help you on your journey!
> Adams was well known in Yosemite for his eccentricities and was asked to be a part of Donald Tresidder's new Winter celebrations in the elaborate, theatrical Christmas dinner with friends from the nearby Bohemian Club. Cast as the "Jester", Adams had asked the director for suggestions but was told to just act like a jester. Adams fortified himself with a few drinks and went on to climb the granite pillars to the rafters.
@JimmyHoffa I understand more of the words in this than I expected to.
(when they say Adams there they are referring to Ansel... its interesting seeing how many Yosemite traditions are tied to him)
@MichaelT I believe you have this mistaken, actually they're clearly talking about Grizzly Adams.
(Jeremiah Johnson is one of my favorite movies ever. I'll be damned if I let the spectacular fictional Grizzly Adams I know be replaced by the real-life Grizzly Adams who couldn't possibly be as interesting and fun)
For example, in Yosemite in the Awanhee... there's a piano. Now they have someone play piano and tea is served. This dates back to an early visit by Ansel to the park with his parents when he was studying to be a pianist.
5:27 PM
He was making sure to practice every day and there were two pianos in the park. One of them was in the Awanhee. So he was playing. People started to gather to listen and enjoy it and the staff was confused what to do ('ask him to stop?') so they asked their manager what to do... the manager said "serve tea"
And thus piano music and tea became a staple of the Awahnee experience.
The other piano was owned by an artist. Harry Best. Harry had a daughter named Virginia Best who eventually became Virginia Best Adams.
@MichaelT Tha'ts fascinating.
@ratchetfreak have a start here always good to get the basics out of the way, y'know?
Q: How do you organize small projects (snippets, one off tools) etc on your development machine?

Jim WI have the best of intentions but eventually my dev machine ends up pretty messy, with projects I wrote just to give someone some support, and projects to answer questions on SO, and projects to do more or less one off tasks, etc etc - all of which I thought, maybe I'll want that some day. I'm t...

blast from the past
gppd old days of NPR
5:30 PM
> Is this just me? Do you have any specific approach to organization? What I think I really want is a tool to do it all for me - some kind of searchable code database, where you commit a project, delete it from the file-system and then pull it out later on. Hmm, should I write such a thing? Would you use it?
like written in 2010
@ratchetfreak then you might want to have a look here to get a good idea how to recognize the generalization of arrows and why the Hask category matters and how Haskell not having co-strength leans it towards monadic instead of comonadic behaviours.
@ratchetfreak also I assume you're already familiar with church numerals because you're a programmer and all, but worth brushing up real quickly here
In mathematics, Church encoding is a means of representing data and operators in the lambda calculus. The data and operators form a mathematical structure which is embedded in the lambda calculus. The Church numerals are a representation of the natural numbers using lambda notation. The method is named for Alonzo Church, who first encoded data in the lambda calculus this way. Terms that are usually considered primitive in other notations (such as integers, booleans, pairs, lists, and tagged unions) are mapped to higher-order functions under Church encoding. The Church-Turing thesis asser...
also of course gotta brush up on
SKI combinator calculus is a computational system that may be perceived as a reduced version of untyped lambda calculus. It can be thought of as a computer programming language, though it is not useful for writing software. Instead, it is important in the mathematical theory of algorithms because it is an extremely simple Turing complete language. All operations in lambda calculus are expressed in SKI as binary trees whose leaves are one of the three symbols S, K, and I (called combinators). In fact, the symbol I is added only for convenience, and just the other two suffice for all of th...
@ratchetfreak also don't forget to brush up on your magmas


Oct 24 '13 at 20:57, 16 minutes total – 11 messages, 2 users, 0 stars

Bookmarked Oct 24 '13 at 21:22 by Jimmy Hoffa

and type systems

Wikipedia brain deth

Nov 26 '13 at 20:47, 3 minutes total – 19 messages, 2 users, 2 stars

Bookmarked Dec 9 '13 at 22:01 by Jimmy Hoffa

@MichaelT Neat!
5:39 PM
@ratchetfreak and finally, here's an example of talking through a real-world use case for a monoid

Serial number monoid

Oct 8 '13 at 20:54, 29 minutes total – 51 messages, 5 users, 3 stars

Bookmarked 16 secs ago by Jimmy Hoffa

worth getting a solid handle on! You'll have a headache just like me in no time!
correct me if I'm wrong, but static functions in c++ have to have the static keyword right?
or can they just not be declared in the given name space?
@Ampt Nah, don't worry about it, look it's easy, I'll show you a monadic state approach that ensures your stateless statics are managed safely without using static
You just have to create the monadic context, and implement your bind to have a carry that's genericized so it can carry your operations
see it's easy
then the bind holds the state and the carry folds your compositions across the state. Easy, see?

Learn Haskell in easy steps

20 mins ago, 19 minutes total – 39 messages, 5 users, 0 stars

Bookmarked 4 secs ago by Jimmy Hoffa

glad that picture made it in there
5:43 PM
That was bookmark worthy. Now I can just drop that bookmark on anyone in the future (and surely expand on it too! the expansion will create a new bookmark with that link to the old, it'll be like a coroutine!)


Apr 16 '13 at 16:42, 28 seconds total – 2 messages, 1 user, 0 stars

Bookmarked Apr 16 '13 at 16:42 by Jimmy Hoffa

shared_ptr<CANOpenMapping> CreateModuleMapping(const OperatorInterfaceModuleGen2& module)
Nothing about that says static... but the comment claims that it is
who's wrong?

Suppositories officially on topic on P.SE

Dec 17 '13 at 0:02, 3 minutes total – 13 messages, 5 users, 2 stars

Bookmarked Dec 17 '13 at 0:09 by Jimmy Hoffa

...this is share your favorite bookmark time right?
Like a no would stop you

This is Thomas Owens fault

Sep 23 '13 at 17:24, 4 minutes total – 6 messages, 2 users, 0 stars

Bookmarked Sep 23 '13 at 17:30 by Jimmy Hoffa

5:54 PM
@Ampt The jerk that invented statics. That's the guy who's always wrong. What a jerk.
@Ampt probably the comment is wrong. static is one of the most widely misunderstood terms if not the most misunderstood. It doesn't help that each major language has differing nuances behind it.
> We broke the problem down into 2,217,093,120 smaller problems...
@Ampt - nothing in the function signature indicated to me that it's static
@JimmyHoffa Could someone bookmark this and file it as The Ravings of a MonadMan
@GlenH7 That's what I figured. Looks like it's just in the global namespace
5:57 PM
@Ampt That would effectively make it static
the point of a static function is so you can call it off of the object without having an actual instantiation of the object. Singletons are a good example of where that's used.
so global namespace == static?
but sticking a function out by itself in global namespace would be the equivalent of the same thing
@Ampt more ~= than ==
hmm. ok.
5:59 PM
I think I scared ratchetfreak off. To be fair, I enjoyed it. What better way to introduce someone to FP than with a stream of jabbering nonsense. It seems the most appropriate way to initiate someone's preception of FP.
@JimmyHoffa or maybe he had real work to do. :-)
@MichaelT Wonder how much it would cost to run the program on an EC2 instance
or how fast it would be
> Finally, we were able to distribute the 55,882,296 cosets of H among a large number of computers at Google and complete the computation in just a few weeks. Google does not release information on their computer systems, but it would take a good desktop PC (Intel Nehalem, four-core, 2.8GHz) 1.1 billion seconds, or about 35 CPU years, to perform this calculation.
@MichaelT It says a lot about the day and age we live in that that doesn't impress me at all
35 CPU years on an intel nehalem
I still like the "We broke the problem down into 2,217,093,120 smaller problems"
6:01 PM
@GlenH7 ah; he's over 10k, I didn't realize. I should have recognized his name sooner, was thinking he was fresh in here and for some reason associated him with a green-faced PHP guy...
I must have been thinking of a different user
@MichaelT imagine if you did it on one of amazons GPU compute units
@JimmyHoffa Aren't all PHP folk green-faced after using it?
sounds like a great application for massively multithreading
Don't need to multi-thread it. Its stupidly parallizeable.
@MichaelT gah. That's the word I meant
6:04 PM
In parallel computing, an embarrassingly parallel workload, or embarrassingly parallel problem, is one for which little or no effort is required to separate the problem into a number of parallel tasks. This is often the case where there exists no dependency (or communication) between those parallel tasks. Embarrassingly parallel problems (also called "pleasingly parallel problems") tend to require little or no communication of results between tasks, and are thus different from distributed computing problems that require communication between tasks, especially communication of intermedia...
And that's the word I meant.
I bet you could probably solve the whole thing in <10 minutes and a modest budget
@GlenH7 which is why Yannis is a master, tequila training taught him to keep his lunch down under all circumstances, including PHP.
@Ampt yeah, a 4 core chip from ~2008 doesn't really impress me much.
@GlenH7 I'm talking about throwing it up to EC2 and seeing how long it takes
6:05 PM
And I'm willing to bet that the jump over to AMD wouldn't impact calculation time all that much, so you could cheaply throw 16 core CPUs at it now
@Ampt Are you going to get exotic and use some of their GPU instances? :-)
@GlenH7 well it would be perfect for the task
I'm talking brute forcing all the problems, not just a subset haha
solve all 43,252,003,274,489,856,000 positions of the Cube
16 core GPU instance will cost you ~$2.10 / hr
@GlenH7 optimize for speed, not cost
strike that; get the 8 core current version at $0.65 / hr instead. backed by an SSD so you won't be waiting on writes.
6:10 PM
I have no idea how to translate the performance capabilities of the GPU instances into breaking down that particular problem. aws.amazon.com/ec2/instance-types
@Ampt I wonder if it would be faster to monte-carlo the problem-space than generating the individual problems. Just the iteration to say "go solve position 1, go solve position 2, ..." would take so long, granted it's embarrasingly paralellizable but stil, the number of positions... just saying "1 million cores, start now." and each one picks a random position immediately, sends results to a centralized deduplicator...
> G2 instances provide access to NVIDIA GRID GPUs (“Kepler” GK104) each with 1,536 CUDA cores and 4GB of video memory
@JimmyHoffa well generating the problem space would probably have to be a whole other application in and of itself
I'm guessing random would get you to 99.9% very quick but the remaining .1% would be a PITA
@Ampt You could iteratively generate after doing N passes of random
or after your results show N% of positions solved
@JimmyHoffa you have to be able to analyze what you've seen and haven't seen fast enough though
I would probably just start out with the whole set honestly
a little bit more work up front
@Ampt it's not about the little bit more work, I'm wondering which would be faster
6:15 PM
@JimmyHoffa well you could just preload each GPU with the data for that GPUs work
not sure how many rubiks cubes 4gigs of memory can hold...
random would be obviously faster but add in the deduplication on the back-end and that increase only get's you so far. Monte-carlo simulations tell us though random will get you a long ways
random might be faster for N passes, and then duplicates reach a certain level because random has covered some portion of the field
The problem that was trying to be solved is "what position is the furthest distance from a solved cube?"
you don't technically have to deduplicate though, you could just overwrite dupes and not worry about it
@MichaelT Yes, but @Ampt is considering the real-time possibility of solving every position
different problem
an exhaustive approach as it were
It also takes a bit more information to save. The "what state is furthest" is a "state + distance" as the solution.
Both are interesting problems
I'm just curious as to A) How quickly you could do it (seconds? minutes?) and B) How much it would cost
1 hour later…
7:30 PM
woah.. google will attempt to quote SO for answers on questions it recognizes
I don't see it...
note the citation
Clicking the feedback:
7:34 PM
its not even the top answer either...
i wonder how it gets that data
A: What's the difference between a single precision and double precision floating point operation?

Charlie MartinOkay, the basic difference at the machine is that double precision uses twice as many bits as single. In the usual implementation,that's 32 bits for single, 64 bits for double. But what does that mean? If we assume the IEEE standard, then a single precision number has about 23 bits of the mant...

it also does the highlighting itself apparently
very interesting
it's shorter I guess
Its got a direct answer as opposed to lots of background and tables.
must be a hell of an algorithm to be able to determine that
it also puts text at the top that isn't there
There is a bit of competition in that area to try to figure out what is important and not.
7:37 PM
aka they are releasing a beta of auto answering questions
I would go so far as to say that they aren't even necessarily right in that answer
When you're talking about precision, you usually don't care about the bits assigned for the exponent or the sign
you don't get 32 bits of precision out of a float: some of those are used for other purposes
there's only 54 significant bits in a double
well I believe that depends on the implementation
but yeah, it's around there
01:00 - 20:0020:00 - 00:00

« first day (1286 days earlier)      last day (2278 days later) »