Posts for OmnipotentEntity

Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
Encoding.
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
Warp wrote:
OmnipotentEntity wrote:
The first one is zip. It returns a container of tuples, the only limitation is that the container of the passed in objects should be the same.
If I'm reading the code correctly, zip() is copying all the containers into a tuple. This can be quite a heavy operation and often something one doesn't want to do (especially if one's just iterating over some containers, something that usually doesn't involve copying anything).
You're reading it correctly, it functions the same way that python's zip function does. If it becomes a performance problem within my application, I'll replace it with a functor based generator.
Warp wrote:
Next is a wrapper, to make reverse walking of a container through a range based for easy/possible.
If I'm reading the code correctly, it doesn't work for static arrays (even though a range-based for loop normally does).
Yes, you're reading it correctly, it works on anything that can be iterated C++ style. A static array no, a std::array yes.
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
Ah, I did not pick up on that from the text of the linked post at all.
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
Well, I said it was offtopic. I didn't think it was worth a new thread, and your last post also seemed off topic (portability vs problem with exception handling), so I assumed this was the new "hey look, neat C++ stuff" thread.
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
Offtopically, I wrote a few "useful" utility functions for C++ in an effort to make it more pythonic. (I'm aware that this is probably the C++ equivalent of "I made a poopy mommy~!" But I thought someone might find it useful). The first one is zip. It returns a container of tuples, the only limitation is that the container of the passed in objects should be the same. For clarification, if you run:
Language: cpp

std::deque<std::string> a; std::deque<int> b; std::deque<std::multimap> c; std::deque<std::pair<int, std::string>> d; for (auto i : zip(a, b, c, d)) { }
You'll be iterating over a std::tuple<std::string, int, std::multimap, std::pair<int, std::string>> with the elements paired up in the manner that you'd expect. Unlike the boost::zip, this does not require that the lists be the same size, it functions like python zip in that it's automatically truncated to the shortest length.
Language: cpp

template <class ContainerA> unsigned commonLength(unsigned len, const ContainerA &first) { unsigned firstLen = first.size(); if (len > firstLen) { len = firstLen; } return len; } template <class ContainerA, class... Containers> unsigned commonLength(unsigned len, const ContainerA &first, const Containers&... rest) { unsigned firstLen = first.size(); if (len > firstLen) { len = firstLen; } return commonLength(len, rest...); } template <template <typename...> class Container, typename TypeA> std::tuple<TypeA> getTupleFrom(unsigned index, Container<TypeA> const& first) { return std::tuple<TypeA>(first[index]); } template <template <typename...> class Container, typename TypeA, typename... Types> std::tuple<TypeA, Types...> getTupleFrom(unsigned index, Container<TypeA> const& first, Container<Types> const&... rest) { return std::tuple_cat(std::tuple<TypeA>(first[index]), getTupleFrom<Container, Types...>(index, rest...)); } template <template <typename...> class Container, typename... Types> Container<std::tuple<Types...>> zip(Container<Types> const&... args) { unsigned len = commonLength(std::numeric_limits<unsigned>::max(), args...); Container<std::tuple<Types...>> res; std::tuple<Types...> item; for (unsigned i=0; i<len; i++) { item = getTupleFrom<Container, Types...>(i, args...); res.push_back(item); } return res; }
Next is a wrapper, to make reverse walking of a container through a range based for easy/possible.
Language: cpp

for (auto i : reverseIterate(mylist)) { }
Language: cpp

template <typename Iterable> struct ReverseWrapper { private: Iterable& m_iterable; public: ReverseWrapper(Iterable& iterable) : m_iterable(iterable) {} auto begin() const ->decltype(m_iterable.rbegin()) { return m_iterable.rbegin(); } auto end() const ->decltype(m_iterable.rend()) { return m_iterable.rend(); } }; template <typename Iterable> ReverseWrapper<Iterable> reverseIterate(Iterable& list) { return ReverseWrapper<Iterable>(list); }
Finally, range. It works like python's range statement in that it returns a list or other container for the given range. I haven't bothered to make a functor based version (like an xrange generator) yet. This is because my zip function doesn't work with that concept yet. If I ever need it I'll write it and put it here.
Language: cpp

template <template <typename...> class Container, typename Numeric> Container<Numeric> range(Numeric min, Numeric max, Numeric diff) { Container<Numeric> res; while ((diff > 0 && max > min) || (diff < 0 && min > max)) { res.push_back(min); min += diff; } return res; } template <template <typename...> class Container, typename Numeric> Container<Numeric> range(Numeric max) { Container<Numeric> res; int min = 0; while (max > min) { res.push_back(min); min += 1; } return res; } template <template <typename...> class Container, typename Numeric> Container<Numeric> range(Numeric min, Numeric max) { Container<Numeric> res; while (max > min) { res.push_back(min); min += 1; } return res; }
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
Hey, just a poke here for any publishers who didn't see it in the OoT thread, this run now has known improvements. So if you're going to create a video you should hold off until the improvement is in (assuming SL is going to.)
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
Hmm... I look like an ass now. Oops. :) Isn't the author of this hack going to release a few updates? If so why are we making a run now?
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
Mothrayas wrote:
By the way, how do you obtain Rush Cannon again? Haven't had time yet to start playing it, but it would be quite helpful if I knew how to get it.
By beating Toadman.
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
Super Metroid has a 3 minute unskippable cut scene at the beginning. It's fine.
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
The Japanese TAS is missing at least 1 trick. It's possible to have the stone thwamp things push you through floors (provided the floor can be jumped up through.) This will save time in 3-4 and a few other places (and was in some of my old WIPs) I'm also not sure if the author is aware that jumping is slightly faster than running. He grabs ladders as he walks past, but overall I think that's slower because of character acceleration (I'd have to double check though.) I feel like 8-8 could have been handled better, but I haven't tried. That being said, the nico TAS is overall much better optimized than my old WIPs. Beyond that I really can't say. I can't remember well enough
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Post subject: Youtube copyright troll claiming PS4 TAS.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
I recently checked my video manager and I noticed that one of my videos http://www.youtube.com/watch?v=aMjhsuVokBQ has been flagged as containing copyrighted material. "Oceania Aalibrary", musical composition administered by: GoDigital MG For a Third Party The music in the video is copyrighted by Sega, not by GoDigital. As it says that they filed the claim on behalf of a 3rd party I doubled checked the names of the songs used in this game, and none of the songs in this game have the name "Oceania Aalibrary" (Additionally, I have been unable to confirm that such a song exists or has ever existed. Oceania Aalibrary is actually a googlewhack.) I filed the dispute, but there is no button for "My work contains copyrighted materials from a 3rd party, but not the 3rd party that is claiming." The dispute was rejected. I would be more than happy if Sega itself profited from viewing this video. However, I take moral exception to a copyright troll doing so. What recourse do I have in this instance?
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
Question, you end a level with more rings than time bonus at 14:10. Was there any thought into taking a hit during the wait cycle of the previous boss to reduce the bonus? Unlike time bonuses, you don't really have to wait or do anything otherwise overtly horrid to shorten this one.
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
TheAxeMan wrote:
Thanks for getting around to this. Unfortunately, the youtube encode uses the loquacious captions from my watcher script, not the abbreviated comments I posted later. Sorry if it was confusing but I put those on pastebin to avoid cluttering the forum: http://pastebin.com/agvQZNtJ Looks like the torrented files have the right subtitles. Also, could we link that watcher lua from the publication? As I said earlier, I was hoping to use this to get more people to play the run in the emulator and explore a bit. So far there have been about 50 downloads and a lot of good feedback. One more thing: unlike the previous version, this run does not use death as a shortcut. Explanation in the submission text.
It uses both subtitles. There's two tracks. (On both the youtube video and the published mp4s.) I've fixed the categories and linked the lua script.
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
TheAxeMan wrote:
Why don't we just publish the main encode. I'll put together the lua for the alternate version some other time.
Sorry that it took so long. I'm just full of derp sometimes.
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
Replaced the 10bit444 encode with one that's actually 10 bit, has full color range, and doesn't A/V Desync. (yay)
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
franpa wrote:
The problem is that accepting this will open the door to obsoleting some of the lesser known games by simply changing region etc.
It really won't franpa.
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
Better solution, use the lower bound of the Wilson Confidence Interval.
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
Blackmill - Spirit of Life
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
Hi there, at the request of natt, I was trying another dump of the movie to get better quality before publication. But the revision that you stated doesn't seem to work. Natt mentioned that you gave him a binary to use, but is there anyway that I can get the source for that binary diggidoyo?
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
sudgy wrote:
The Hebrew word erets can either mean earth, meaning global, or land, refering to a certain area. It is simply saying that God hasn't made these things in that land. You can also see that throughout genesis 2 it is talking about Eden, not the world.
Objection. Genesis 1 and Genesis 2 use different words for many things (this is because Biblical Scholars believe that Genesis 2 was written in around 1000 BCE whereas Genesis 1 was written around 600 BCE) However, Genesis 2 consistently uses the same word as Genesis 1 to refer to the Earth. And it's very clearly referring to the whole earth. For instance: Genesis 2:4 אֵ֣לֶּהתוֹלְד֧וֹתהַשָּׁמַ֛יִםאָ֖רֶץבְּהִבָּֽרְאָ֑םבְּי֗וֹםעֲשׂ֛וֹתיְהוָ֥האֱלֹהִ֖יםאֶ֥רֶץוְשָׁמָֽיִם׃ Translated: This is the account of the heavens and the earth when they were created, when the LORD God made the earth and the heavens. The word used for earth is: אֶ֥רֶץ or eras This same word is also used in Genesis 1:2, which begins: וְהָאָ֗רֶץהָיְתָ֥התֹ֙הוּ֙ or "The earth was formless" אָ֗רֶץ Please note that the diacritic markings are slightly different. However, these are the same as the word used in Genesis 2, it merely distinguishes between different grammatical roles of the same word in this instance. It should be noted that in the Torah, the diacritic marks do not exist. They are simply used in modern Hebrew to assist in pronunciation and reading. Compare with Genesis 2:5 which is the verse you're taking issue with: וְכֹ֣ל ׀שִׂ֣יחַהַשָּׂדֶ֗הטֶ֚רֶםיִֽהְיֶ֣הבָאָ֔רֶץוְכָלעֵ֥שֶׂב־הַשָּׂדֶ֖הטֶ֣רֶםיִצְמָ֑חכִּי֩לֹ֨אהִמְטִ֜יריְהוָ֤האֱלֹהִים֙עַל־הָאָ֔רֶץוְאָדָ֣םאַ֔יִןלַֽעֲבֹ֖דאֶת־הָֽאֲדָמָֽה׃ Translated: Now no shrub had yet appeared on the earth and no plant had yet sprung up, for the LORD God had not sent rain on the earth and there was no one to work the ground The word used for earth in this case is: אָ֔רֶץ and אָ֔רֶץ Which, if you notice, is the same word. Not a translation ambiguity. There are, of course, other words in ancient Hebrew that mean area or land as well as other words that mean world or earth. Why wasn't a distinction made if one was intended? And why do you believe that a distinction was intended when there's no evidence that one was?
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
Just curious sudgy. If you're going to use the words evening and morning as being completely literal and refuting my claim. Then how would you explain the order of creation presented in Genesis 2 as compared to Genesis 1? Genesis 1: Day 1: Heavens and Earth Light Day 2: Separated the water from the sky (which is also water according to the literal reading) Day 3: Created land and plants Day 4, etc. Day 6: Man and Animals Genesis 2: Day 7: Rest Day 8: Plants and Man. So, why is the Bible literally correct when it mentions morning and evening, but misinterpreted when I point out that the orders of creation presented are in conflict?
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
Nach, I'm focusing on a single topic at the moment, so as not to confuse the situation. However, I will be more than happy to address your point once we get to that metaphorical bridge.
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
Nach, I'm not attempting to say "this is how things are." I'm simply trying to open sudgy up to the possibility that the universe is that old. He seems closed to the possibility because he believes that the Bible is in conflict with it, so I'm am attempting to show that the Bible is not necessarily in conflict with an old universe. We have many other reasons to believe that the universe is old, and none save a possibly flawed interpretation of the Bible to believe that it is 6000 years old. But we're not at that stage yet.
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
sudgy wrote:
OmnipotentEntity wrote:
I'm getting to that, first off, you didn't seem to have responded to my last point, do I take this to mean that you have conceded that the Bible does not preclude Evolution and a 13.7 Billion year time frame? If not, I would be interested to hear your reasoning with regard to my last post.
You have not convinced me about it. Another thing is, it said that He created all plants at one time, then all the fish and birds at once then all the land animals at once. And it specifically says that he created. Not something like he let them evolve.
Yet you still have not responded to my last point. You're changing the subject, and I won't let you do that. I'll reiterate: First, you held that the 7 days of creation is literal. I stated that it's possible that creation took place in a literal 7 days from a different frame of reference. Because time is relative. You countered this by saying that it couldn't happen that way. I asked for the basis of that assumption. You replied with: "things are written how the writers think." In other words, God will put things in terms that the people of the time could understand. I countered with: people would have a very difficult time grasping the concept of a 13.7 billion year old universe. Supposing if God inspired the writers the write that the sun and moon stopped moving, this is evidence that the writers of the Bible and people at that time could not grasp the concept of the Sun being very far away and very very large. How would they grasp something as old as a 13.7 billion year old universe when they did not even have a word for a number that high? Please consider, and give a coherent explanation. I'm not asking you to speak authoritatively on behalf of God, of course. I'm merely asking for you to justify your interpretation of the Bible. But more importantly, justify your rejection of the alternate interpretation I'm presenting. An interpretation which enjoys wide acceptance from your peers, by the way. Why is the view that I'm presenting necessarily false? The basis you presented is either flawed, or it simply lends credence to my interpretation. I don't see a third option, this seems to be a true dichotomy.
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Experienced Forum User, Published Author, Player (36)
Joined: 9/11/2004
Posts: 2624
sudgy wrote:
OmnipotentEntity wrote:
My goal is to convince you that evolution is correct.
I feel that through structural homology and molecular biology (which I explained earlier) I already said that macroevolution couldn't have happened.
I'm getting to that, first off, you didn't seem to have responded to my last point, do I take this to mean that you have conceded that the Bible does not preclude Evolution and a 13.7 Billion year time frame? If not, I would be interested to hear your reasoning with regard to my last post.
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.