Wow, so as you might know ( or not ), I am part of the Poniverse development team. While I have not much to tell you about how we organize things, I can tell you what I have been working on recently. ( Yes >.> I don't have that title for nothing! )
The rewrite of Equestria.TV
Know right away that this a conjoint effort by @Key Gear and me. While we both are fully able to make everything on our own we decided to rather focus on different parts so as to maximize output. So it was decided that I would be responsible of the clientside part. ( What you see in the browser. ) And Key would do the serverside part. ( Code executed on the server. )
That being all decided, we worked trough a few prototypes. Got stuff working, and broke it again to make it even better and today we have this:
This is the owner/moderator view, a few things are different when connected as a normal member.
As you can see everything has changed from what we have currently. That is normal and on purpose. The current codebase and design of Equestria.TV is working, but hardly efficient. It has quite a few flaws that made it impossible to extend upon. This opened up a lot of different possibilities. We could rethink the whole website. And I believe we changed it for the good. Here is a rundown of the features we got right now: ( Whether they are new or not is not that important. )
Chat Commands ( i.e. /me, quoting and links )
Single Page Application, this is the feature which enables a lot of the other ones.
Custom Themes, the screenshot up there shows the Rainbow Dash theme. ( Sure you couldn't have guessed. )
More than one room, the rules aren't well defined yet so perhaps don't count on being able to create a room that is public.
Youtube/Livestream/JustinTV/(Pony.FM) support, Pony.FM still has to be implemented, but everything works. ( Youtube is of course synced with the server. )
Stay tuned for more updates and sneak peeks of features/projects. ( You have no idea how much I want to show you stuff but it's not quite ready yet :3 )
PS: Feel free to ask any questions related or not to this project. If I have an answer, I will probably give it to you.
To get this out of the way, yes I do love you. <3
Meh, been some time since I last made an update so I figured why not.
So I got assigned as a Community Steward. The reason for that is my involvement in a still secret project so not much about this.
I launched CanterlotLibrary, a website I had in mind at some point. It isn't complete yet, it still got a year to stand before being pulled. It's still being developed and I plan on redesigning it at some point.
I started playing the Piano again. A friend of mine who is really good in music theory and playing, pointed me to a piece called "New Orleans Nightfall" it has a nice tune. Listen to it here: http://www.youtube.com/watch?v=ySt3EQzKzT4
I also rediscovered a drawing I did:
As well as this which came from my time as a moderator:
So last week it came upon me that I wanted to create a written works site. It's focus would be the MLP:FiM world. So I started to write code for it and soon ( the same day ) canterlotlibrary.com was bought and setup so as it would resolve to my VPS.
A pre-alpha version is currently being hosted ( which is more of a prototype rather than a working copy ) and the utmost basic stuff is there so far.
I took a different path, than what one can be used to, to publishing though. It works like this:
There is a set of Universes which can be User created. Let me explain what an Universe here is.
A Universe is an instance of the world you write your fiction, so for example the Canon MLP world is a Universe, Fallout Equestria is an Universe, and a futuristic world would be a universe. They all have different time periods, settings and rules.
So why did I do this? Well I thought that structuring things in this fashion made sense since putting them all under one category feels kind of wrong to me.
I also plan on creating a Character Database which will allows users to create Characters, tag them in stories and explore their stories.
While I did some writing in my past I have to admit that my knowledge about what an author truly needs to feel at ease is a bit limited, so anyone feeling like they might give some advice/request a feature is welcome to do so.
For those unfamiliar with programming, iteration is the testing of a newly implemented feature and change it until it fits. ( That is the iterative process. )
And you are meant to do that a lot. And often. And early. So this is why I am making this blog post. On my own I will never be able to test a web application nor will I be able to tell what is fundamentally wrong with it. ( As I made it )
So here is the reason for this blog post. I am asking those that interested in shaping a website the opportunity to do so.
I am currently working ( still actually ) on a website that is solely focused on roleplaying. You might think that there are forums for that or similar. I myself haven't encountered yet a custom tailored solution to all the inconveniences forum roleplay brings so I decided to make my own. One of my guidelines are: "Always have the users choose what they want from a service"
Check out my last blog post to know exactly what happened with the last iteration.
Here is how it will work:
-You tell me in a comment you are interested in helping out!
-I will add you the general conversation where we will all talk about things and discuss it. ( This is the most important step imo. )
-You will get access to the alpha version which you can test out to your hearts content and keep track of any incoherence you find and report them.
Some tools we will use:
-Trello
-mlpforums' message system
-possibly skype ( if enough testers use it )
Exactly what you would have to do:
Tell me what you currently think of the state of the website. If something sucks and I should remove it or if there is something that is really great and I should focus on it more.
Trello allows us to have a discussion as well as coordinate any testing effort.
Any kind of initiative is appreciated.
( Don't forget though that even if I leave a lot of freedom of choice what gets implemented or cut is my own decision. )
What you will get:
You will get my infinite gratitude for helping me out.
You will get an "Alpha Tester" badge, showing your support on the launched website. ( Name might change, but know that it will be quite a distinction. )
You will have the satisfaction of shaping something and making a difference in the creation of a website.
So on my application, when creating a character you are able to enter a description. The problem was that it got cut off at a certain length. ( 255 characters to be exact )
I was quite puzzled about this since I haven't added anything that would truncate it.
About half an hour later it hit me... the database column was a varchar with a length set to 255. A default by rails that I forgot to change. I then had to go trough the database and change anything that needed to be longer than that to the TEXT type.
Ruby on Rails is an application framework, written in Ruby and whose mainly purpose is to help ease the workflow of an MVC oriented website.
MVC = Model - View - Controller
This is the base of RoR (Ruby on Rails), and pretty much the main reason to use it (instead of other frameworks.)
A Model is anything that holds values, you could think of them as 'objects'. Although that is not quite accurate as models can also be a relation between two other Models. They are often represented by one column in the database. ( Although 'virtual' models exist as well. )
Here is an example:
A Forum User has a Name, Password, Settings, Posts, Signature, Avatar.
So it's model would be something like this in Rails:
attr_accessible is a security feature with which you can specify which attribute can be 'mass-assigned'. That means you update them all at once instead of having them individually. ( Mostly for convenience as it saves you from typing a lot. )
the lines 'has_one' and 'has_many' do exactly what it says, it tells rails that there is a setting that belongs to this User. There are also many posts that belong to this User.
A Controller is the application logic, it is what allows you to specify what an user is allowed to do. What he can see, etc...
For example let's consider a Forum Model, it has many Threads.
Here is an example of a Threads controller:
params is a hash where you have the parameters of the page.
With http://example.com/threads/1 the params hash would hold as an ":id" variable the number 1 which is the id of the thread model.
It all reads pretty much like English so it should be straightforward.
A View is what is displayed to the user. In it you can use Ruby ( by default it uses ERB as it's templating system ) to change the appearance of what you want.
Here is an example of my upcoming website:
This is the Roleplay Creation page. As you can see I use HTML & Ruby interleaved.
So this is why I love Ruby on Rails, if you want to do a resource oriented website it just fits the job perfectly. It's 'magic' is always the right way, especially if you are beginning.
I highly suggest this Framework to anyone starting into Web Development as it only beneficial. You learn a lot simply by shaping your application the 'rails way'.
Stay tuned for more!
If you wish to dive into Rails I highly suggest this tutorial:
It happens from time to time that I see a discussion popping up that tries to answer the question. "Do we have a free will?" Well, let me show you how you cannot possible answer the question.
You have to imagine the world as a chain of actions/consequences. It has been like that since the beginning of the universe. Now, "Free Will" makes us believe that this chain of actions/consequences originated from us. But how can you tell that you are the starting point? This would mean that you have to go all the way back to the beginning of your existence. But as you can't, it's impossible to give an answer. The only thing you can give is an opinion. Don't do that.
#2 God
This is something I see a lot as well. To answer this, you have to see God as an omnipotent being. ( Omnipotent means it has every attribute possible. ) So by simple logic, "Existence" is also an attribute, so God has it. Which means that god exists. Right? Well turns out, that no.
To prove it, think of an Apple. You can give it all sorts of attributes: It's red, it's juicy it is wormfree, etc... now when I ask you to prove me that this apple exists you are going to have some problems because it's missing the whole 'existence' thing. So it turns out that there is one attribute that rules them all: "Existence". The only way for God to have every attribute is to exist. You can't prove it though, just like your apple. What does this mean? It's just your opinion once again whether God might exist or not.
So as you might know, or not know, I made a website called "Pony Roleplay" which was a website that offered MLP Themed roleplaying. It is closed for now though.
It didn't pan out as I expected it to happen and this is why, and the things that will change in the new iteration ( more about that later ):
I had no direction
Halfway trough the second iteration of the website ( which added a few new features and changed the database relations ) I had a greater ( and frankly better idea ) of what the website should have been. But the problem was that it was impossible to do that without a full re-haul of everything! Which was obviously not an option. So this kind of killed my motivation. I was constantly thinking about how badly I designed the models ( the data used in the application ) and their relations. This added a lot of problems when programming, opened up a lot of different security holes. ( People could submit other's characters! ) You had to tinker with the data though, but still. Worst code I have ever written. Not going to repeat it though though as I learned a lot since Mai ( when I wrote that code ).
My conclusion:
Think ahead, and really far ahead. If you think "I can fix that later on" then you probably already lost. Don't. Ever. Do Things. You. Have. To. Fix. Later.
This might sound obvious, but it isn't when you are the one programming.
No engaging user experience
When you arrived on the website it pretty much assumed that you knew how to use it and what exactly roleplaying is. Which is obviously quite bad, but at the time I just thought "People will try out stuff! They will discover how to use it!". I based that on my own experience where when I found something new I would just try to check out everything I could.
Turns out I was wrong, really wrong. People are lazy. ( Sadly... ) If you don't spoon feed them instructions how everything works they will just drop it and quit the website.
I made a topic in the forums ( not here, but there ) where people could ask questions about the site. Yeah, well it had one question in about two months, and it was if they could use a certain character in a roleplay.
So yeah, another lesson:
Be creative! Except no-one to care about your side and make them care! Also be sure that your user always has something to check out if you don't want them to get bored.
Advertisement
I actually hated this topic, and not because I didn't want to buy ads ( I actually wanted to! ) but because I once again didn't realize that the internet is stone hard. And not just any stone. No it's like Diamonds. At least when talking about how to get known. The rules are simple. Either you do, or you don't.
The main reason I couldn't get advertisement was funding though. ( And a mix of the first point. I didn't want to 'waste' money. )
Conclusion:
Well, I did get some ads, but couldn't sustain them longer than a few days. Which seemed okay though.
Final Conclusion:
When making a project know exactly how it will work. That is, the core. Features can change, but they shouldn't interfere with the core.
My core was "fun MLP FiM roleplaying". But I didn't manage the fun part so I lay down to rest the website.
PS: I didn't want to take it off because of finanical problems. My server's cheap(er) now and I can easily pay it. But I found it to be a disgrace to roleplaying and insulting to my users.
In the end I had around 500 registered users in ~3 months. Only 2% were active though. And I am sorry for them. Their roleplays seemed to be fun. I hope I didn't break their will to roleplay.
Now something else. The birth of a new website. It will be about roleplaying. ( Not specifically mlp though. ) and it will have more traditional elements. More info will be coming soon I guess!
The "Subscribe" button which is actually superfluous.
The Information box which rotates to partially useful things but in the end it is just a visual distraction.
To cure this problem in the easiest way possible I use AdBlock+. Obviously this sounds weird as neither are ads. But the way AdBlock+ operates is that it just makes the frames/divs of ads invisible. The same thing can be applied to these divs.
Right click on them and click "Inspect Element".
The Chrome inspector will open up and your element highlighted.
We now know that the element has an id of "nav_menu_7".
With this you can now create a custom rule for AdBlock+.
Go to your AdBlock+ settings and go to the tab called "Add your own filter"
In there you paste now: mlpforums.com##*#nav_menu_7 and click "Add Filter".
And now, the button disappeared:
If you want to change the Theme, there is an extension which does that:
I am pretty sure that you have all seen already the 'famous' math trick where you take a triple digit number, write it down twice and then when you divide by 7,11,13 you get the three first digits back again! ( You will later see why that is. )
I prefer this version:
Take a triple digit number. ( e.g. 254 )
Write it down twice. ( here, 254254 )
The new number will always be divisible by 91.
If you don't believe me you can go ahead and try it out with as many numbers as you want, but it will always work. Here is the proof:
You have three digits, let's call them a,b,c. This means that:
They all have to be a part of !
So, our hypothesis is that:
n = 91 x k with k being a part of
since n is divisible by 91
( n is the six digit number )
Now here comes the 'tricky' part: You have to realize that you are working in a decimal system which means that our six digit number can be written like this:
You can factorize it to get this:
And we're done! Because:
So our earlier hypothesis was right. You can write any six digit number between 100100 and 999999 in this way:
n = 91 * k with k being a part of
Time for a little aparte. I just created this blog and any feedback and questions are much appreciated! I will continue to share any mathematical thingies I found interesting on here.
As you all know Blogs are the perfect place to actually get your own opinion known and spur others to react thus creating new viewpoints and just general insight into the world. But without somebody telling you "Hey! I don't agree with you, here is how I view this." your opinion might be outdated/wrong/misguided or just not detailed enough.
This blog will be a place where and Neikos will talk about what they want. And at the end of each post they either state a new subject for the other to pick up or to answer their point of view with an agree or a disagree.
To make it short, we will just discuss things on a blog, in public. Feel free to point out things in the comments you believe are different!
So I signed up to this blog thing... Obviously I am not the first one, nor will I be the last one to say things similar to this.
I have made a few blogs, but often I don't write in them because why put effort into something that is meant to be shared when no-one is there to receive it? Perhaps it will be different here, perhaps people might read what I have to say. Just one person, and my post has a purpose.
I am pretty sure that if posts had a life they would love to be read. Some where longer than others, but that was fine. Quality was important. One could practically smell the quality emanating from some posts. A few smelled like fresh flowers, others like manure. They all came from the same place though, but ended differently.
Why am I telling you this you might ask? Well, I am sharing this story with you so you can make your own opinion of what a quality post is. A simple domestic fly does not care about flowers, but manure that is the shit, the same thing counts for a wasp. It prefers flowers. So before saying that one type of post is bad and shouldn't exist you should think about who you are and that others might just like different things.
Due to me being on holidays my sleep schedule slowly shifted towards the night. So I found myself coding early in the morning.
Somehow I thought that implementing categories into stories on the Canterlot Library was a good thing to do now, so I did that.
From a coding perspective it was a lot of fun, since when you're tired everything looks like the Mt. Everest.
My first iteration of the code worked. But it didn't really check if the categories are valid. So I had to change that. At the time I was using a Hash, which for those who don't know, is a data structure that is meant to hold key => value pairs. I then used one of ruby's methods which checks every single entry in the hash to be valid and then returns true only if every check also held true. Only, it also iterated over the keys, something I didn't want. That was easy to fix, but hard to find since it was returning true all the time! Either way, having found why my checks weren't working I once again remade everything, in what is in my opinion, the rails way. Aka:
PS: It took me so long because I also helped a friend of mine with his programming, in reality this took me ~30 mins.
PPS: I love one liners.
Check out the result here: http://canterlotlibrary.com/stories/1-twilight-s-a-detective
As you probably have guessed, this is a blog entry about the last My Little Pony Friendship is Magic episode. If you haven't seen it yet, go watch it here:
The episode started unusually, with a song from Twilight who ironically sings about the greatness of the day and how nothing is wrong. Of course, as cartoon reality tells us, we all know that there's something coming her way. And soon after we are told that the Element's destinies are being switched. Aaand, Twilight then goes on about fixing it, turning herself to a Princess by accident and then being coroned, since apparently all of this has been planned by Celestia.
The Major plus points:
New Canon!:
Alicorns are princesses, there seems to be no exception. But this is a better explanation than 'they just spawned' even if I find that more appealing.
'Magic can be made' with your own words. This is mostly for continuity in Roleplays, should be funny to experiment with that.
Celestia is a confirmed stalker. She watched Twilight for two whole years!
Luna is still an almost mute.
Liquid Pride is a thing.
You ascend to Alicornhood by having a destiny that wants you to be an Alicorn. ( This kind of restricts the amount of them which is a good thing. )
Twilight Sparkle is still the strongest Character there exists in the show, and the others loo(suc)king up to her just makes her position as best pony more justified.
New Songs!
There are a bunch of new songs. Even though the whole thing can't be considered as songs since it is meant to be a musical.
As you may or may not know I am currently working on a project to make a roleplayer's dream come true.
It's basic idea is: "Allow anyone to have a quality Roleplay trough the use of rooms, characters and a useful website."
Only, this is a lot of work and working with a few selected others can make things more fun for everyone involved. I already have two awesome people who help me test out various features, but another programmer is going to speed up things a lot!
Here is how it will work: ( The system used is Git, a source code manager. )
Step 1:
There is a to do list. More often than not there are various items that need to be done and anyone is invited to do it.
Step 2:
You create a new branch from the master branch and start to code!
Step 3:
Once the feature/bug/enhancement is done you test out the code and make sure that it works.
Then you push that code to the remote origin where I ( or the team ) will look at it and do a sort of quality control for any obvious bugs/errors or missing things. If it fails here you go back to step 2.
Step 4:
It is merged into the master branch and will on the next update go live.
This is all true for the alpha version. It get's a bit more complicated on beta and release.
Information:
- The project is in Ruby, HTML, CSS and Javascript ( eventually coffeescript )
- It uses Rails, which means that you have to be familiar with the Model - View - Controller architecture.
Requirements:
- Basic knowledge in programming ( If you just started out or don't feel up for it, don't hesitate to contact me anyway. I like to help and chat with fellow programmers. )
- A will to make a great service
- To be able to take an initiative
- To be able to have fun
- To message me.
Your last entry was great , I agree on pretty much everything you said, but I believe that you didn't put enough enough importance on how interaction in the community is important. Creating something that is unique to a forum makes it feel more connected. ( I believe we have a comic of some sort but the last time I read it I didn't like it. It seemed though that others were enjoying it. )
The question I got from Silver Arrow was:
"What are some things you consider when finding a good community to use?"
Well when I choose to join a community it often boils down onto the question of "Why?" Why do I want to join a community? So far I joined 3 communities and created one. They all have their purpose, and are mostly unique.
So far I have joined: Facepunch, Fillydelphia, MLP Forums and PonyRoleplay.
They all had their reasons. I joined Facepunch because I needed help in some programming for Garry's Mod. This turned out to be my main Forum since. I joined in 2008, so I am one of the older members. ( It got created in 2005 so I am certainly not the oldest )
Fillydelphia was because it was a Roleplaying site.
MLP Forums got chosen because it seemed to be alive and 'okay'. Not a lot of things happened as I joined so being able to take some of the spotlight that existed at that moment kind of feel good. It incited me to join. TheBrokenToast also made me stay, we talked a lot at one point. In the end I stay because I see no reason to quit. I don't reply almost anymore in any of the threads because it just feels like I'm wasting my time most of the time though. I also roleplayed a lot in the beginning but the growing frustration of the Roleplay Model here made me create...
PonyRoleplay is a community I created. It's roleplay centered, so I suppose people who join are interested into Roleplaying.
This boils down my reasoning to a few points:
I want to join a new community.
It has something I mostly can't find elsewhere.
Deciding if I stay in the end depends on how welcoming said Community is, or if you manage to fit in. Facepunch for exemple is a place where I just wanted to ask questions and check out other projects from other people. I ended up staying because actually not getting permabanned is quite a feat. ( Yes, you get banned for breaking the rules. Nothing silly like removing posts etc. Which is completely uneffective btw. )
So these are the things I consider when wanting to find a good community.
Back to you Silver:
"If you could change one thing on MLP Forums, what would it be?"