« first day (464 days earlier)      last day (2057 days later) » 

12:00 AM
Productivity increases linearily with each additional monitor
For that question. I haven't looked at others yet
A: What should be the name of our main chatroom?

Mat's MugThe 2nd Monitor We all [hopefully - if not you're missing out!] work with at least two monitors. I noticed I keep the chat window open on my 2nd monitor [almost] all the time. Having a 2nd monitor is also quite handy during an actual peer review. I think it makes a perfectly suited name for our...

The other 2 are about Python... so I don't know.
@JeroenVannevel This is fine to an end user of the library who will know that he's selecting something that can be thought of as an Employee object with an ID and FullName property. I'm developing a library that needs to generically handle ANY sort of query and generically return the results to the user in a way in which the user can know which result belongs to which column.
12:03 AM
Can't you tell the user to stop being lazy and define an object?
@JeroenVannevel I don't agree with this completely. There's got to be diminishing returns.
Have him make some annotations to define column names
@JeroenVannevel Sure, but how do I make the library map the results of his custom query to his custom object without knowing anything about his query or object before hand?
That's how I've known my database wrappers to work
By using the annotations
He has to link the property to the column
What are these "annotations"?
12:04 AM
Obj-C doesn't have them?
It's like this:
I don't know.
public int ID { get; set; }
basically it's a way of transmitting meta data
C# uses them between [] brackets, java uses the @Something annotation
Then you could use that annotation to map the column to the property with a sniff of reflection
just loop through the properties with the Column attribute and set its value equal to the corresponding key in your dictionary
very clean, very pretty
Okay wait.... before I spend too much time trying to figure out really what this is and if there's a way to do it in Objective-C (if there is, it still may not be worth it because ObjC developers certainly won't be used to it)
How can I possibly, pre-query, know that the user has appropriately set all of the columns correctly?
You can't, that's the users responsibility to define all the columns that he wants
You work very user-agnostic here
12:08 AM
You basically provide him with the means to query your database and to say what should be retrieved
but you will only return that what he retrieves
Yep, well, I'm definitely not writing that much code for that.
That's a big project to get annotations in Objective-C.
Granted: there is a form of ambiguity by having to specify it in the SQL query and in the annotation
Q: Code Optimization with functions in c

user3871400I just want to know how I can make this program use less resources Any improvements would be welcomed #include <stdio.h> #include <string.h> typedef struct { int client_id; char client_business_name [30]; char client_first_name [20]; char client_last_name [20]; ...

12:30 AM
@CaptainObvious that's a LOT of code...
@Phrancis Did you ever post your SQL fizz buzz?
nvm, just found it
Yeah. My general feeling about it is, don't use SQL to make Fizz Buzz.
@CaptainObvious I voted to close as Too Broad. There's about 780 lines of completely uncommented code and a 2-line plain English request for using "less resources" and "any improvements"
@nhgrif I VTC following your example
12:45 AM
are the users like "user{number here}" anonymous users ?
Although I guess, one technically could decide to make their name user123456
It's not quite anonymous.
It's just a randomly assigned default username.
The same person gets the same number every time.
@CaptainObvious This code actually has 5 errors for me and will not build
is CaptainObvious a bot ?
@nhgrif One of them must be a lack of function prototypes.
12:48 AM
@Jamal They're all revolving accept
I'm very unfamiliar with C.
But I get 3 "conflicting types for 'accept'"
and 2 "Too few arguments to function call, expected 3, have 1", both on lines where he's calling accept(c);
So, this code is too broad and also broken.
Well, don't take my word for it. Someone who knows C better should take a look.
Maybe I've done something dumb.
I can't see why it'd expect accept() to have 3 arguments.
It is indeed broken, so I've closed it as such.
1:10 AM
@Bhathiya-JaDogg-Perera How can I find my releases page?
rubberduck isn't here?
Q: Is this php script secure?

Jay Garza <form action="<?php $pass = $_POST['password']; $password = password_hash($pass, PASSWORD_DEFAULT); if (password_verify($pass, file_get_contents("pass/pass.txt"))) { file_put_contents($file, $data); } ?>" method="post"> Is this php code secure? how likely is it for me to get h...

@ckuhn203 I just flooded your question :)
Funny you mention it @Mat'sMug. I was just thinking of reimplementing a lot of your list class in Enumerable too.
Which, invalidates my latest advice on MeHow's question.
Hey Mat's .. just checking in, and see your mug face.
1:18 AM
Hi all, and bye all.
next time!
Cya @rofl.
@ckuhn203 well you already have Min and Max, there's nothing stopping you from adding Sort, SortDescending and Reverse methods; they all rely on a comparison mechanism
The only thing stopping me from implementing sort is I've never done it before. I spent a few hours trying to figure it out.
Had to step away for a bit.
> Sorting is hard @ducky
I'm gonna keep plugging at this though. I like it a lot.
1:27 AM
your code made me realize that my List wasn't even trying to leverage the default properties
(and my sorting sucks, too)
I just stumbled on this... xkcd.com/519
hahaha good one
I think my mistake was trying a quick sort first.
I think I could do it in an array, but it's ackward for a collection.
I don't even know what my sorting thing is called
How you doing @Phrancis?
1:33 AM
Right now I'm cursing @rolfl for posting a link to xkcd, and that addictive "Random" button. But otherwise, good :D
Yeah. That random button has killed hours of my life.
Oh, and my wife is back on Minecraft -.-
> "An SQL injection is when you ask the waiter for a large pepperoni GIVE ME ALL YOUR MONEY with a side of fries."
Literally LOL
1:38 AM
I think that's a bubble sort @Mat'sMug.
> A woman tells her programmer husband to go to the store for some milk and while he’s there, get some eggs. He takes egg carton after egg carton, until there are none left. He reaches for empty space. The ground splits beneath his feet. The universe trembles and collapses.

This is how the world ends. Not with a bang but with a Null Pointer Exception.
And more or less what I was going to do until I realized it's a bad sort algorithm.
Thanks, @Mat'sMug - For another addiction...
@Phrancis you're welcome ;)
@ckuhn203 I think I managed to make my bubbles even worse than bubble sort makes 'em
I need to reimplement that List class with an encapsulated array instead of an encapsulated Collection. Badly.
1:44 AM
@nhgrif : do you mean the generated webpage ?
did you find it ?
'night @all!
2:17 AM
Good Morning :D
WOW someone at xkcd had too much time on their hands.
It's just Randall.
Night @all.
Night @ckuhn203
@Mat'sMug this is insanely difficult to go through with a track pad instead of a mouse -.-
3:03 AM
Q: My first model test in PHPUnit - how should I improve it?

user3265472I'm just created a test to create my table gateway class. I've written about 8 tests and all are passing. I'm hoping anyone can offer any advise on what to do next to make these better. This is quite a small app and just one of my own, but at work I want to write tests for much bigger application...

Q: Very simple Postgresql ORM in C++ using libpq

user3791372I'm working on a set of helper classes for working with libpq in C++ and I want to be able to pass in objects to the helper classes and have them internally represented as strings when sent to the db, and convert from string to objects when fetching data. I'm not particularly after a crazy ORM al...

Q: possible way to simply C cmdline code; the code aims to print out an excerpt of the periodic table of elements

user3503045Example Outcomes The code I wrote is long enough to be ashamed of -_- click here for the code which needs to be modified however I just want to have a try and see if anyone can offer some practical suggestions to simply this code to get the same ideal outcome. Thanks.

3:14 AM
@Jerry , @Vogel, @Janos and @Syb0rg - all congrats for the [badge:sportsmanship] since I went on holiday....
Thanks, Santa!
Oh, and thanks Santa!
one-vote-short .... hint hint .... ;-)
3:26 AM
I'll look at it again tomorrow. :-)
And I'm glad that Google Code Jam answer was upvoted, as I've just now realized that my code snippet was missing a curly brace.
3:46 AM
You've earned the "Necromancer" badge (Answered a question more than 60 days later with score of 5 or more) for "What's a Zombie? And what are the many other memes of Code Review?".
irony is thick, there, @Malachi
@rolfl Very Thick!
But, was the zombie ever really dead?
Does necromancer apply?
4:03 AM
@Mat'sMug This is a runtime error:
@200_success ROFLMAO
4:20 AM
^ that
Q: Project Euler #2

Bhathiya-JaDogg-PereraProblem: Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting with 1 and 2, the first 10 terms will be: 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ... By considering the terms in the Fibonacci sequence whose values do not exceed four milli...

4:44 AM
Q: A practical example of evenly distributing n lists into a single list

ForrestAI had previously asked about how to evenly distribute the items in n lists into a single list and was referred to this question. I made a practical example of my solution for this in VBA for Excel, since my application for this was resorting my Spotify lists which can be easily pasted into Excel...

Q: Node.js JSON searching & updating

rwxesI'm working on a web-based on/off controller for multiple switches. I'm looking for a good way to manage the current state of a switch and updating the current state on change. So far I've got a lib.json file which looks like this.. { "Lights":[{ "name": "light-one", "pin...

5:04 AM
Q: Acceptable way of using jQuery methods in Angular directives

MandrakeHere is my plunker example of what I am doing. jQuery is a great way to use slide transitions and seem to work well with angular as long as you are only using the methods on the element object inside a directive. Basically I am using a directive for divs I want to slide toggle which listens fo...

HI @Heslacher
5:20 AM
Q: refactor code for rolldice

user50916from random import randintimport timefrom collections import OrderedDictflag = Truecast_again = 'r'statistics = OrderedDict()casts = 0options_after_cast = """> Options:> R - to cast again;> S - view stats;> E - exit the programme.> """options_after_stats = """> Options:> R - to cast a...

@CaptainObvious The code-formatting in the editor is a mess.
morning @all
5:41 AM
morning @chillworld
all well?
Yes, weekend is over ;-)
6:06 AM
@200_success: How did you fix that code-formatting in the dice question?
yeah indeed, 4 days work and 2 weeks holiday then :)
oh yeah, almost forget : I need to thx santa for yesterday
6:24 AM
@chillworld nice
Highlighted the rendered code. Control-C. Highlighted the junk Markdown in the question. Control-V, Control-K.
6:38 AM
SO is getting full of idiots who think they all know how to do it.
A: Refresh data in MVVM page after modal close (written in MVC)

chillworldYou could use a Global-Command. just before you close the modal window : BindUtils.postGlobalCommand(null,null,"refreshUsers",null); and in your ViewModel of the user list : @GlobalCommand @NotifyChange("users") public void refreshUsers(){} Note : I'm assuming you have a method getUsers. o...

look at the other guy his answer (if you can call it an answer)
or he's missing that the adding is being done in another controller
Monking @skiwi
who knows spring data?
7:00 AM
@chillworld I UV and also the OP's grammar :)
Pending SO approval of course, because I'm still at the kids' table over there
And now, TTGTB
Night @Phrancis
@Phrancis thx
and good night
7:28 AM
@syb0rg good to know, if I want answers I'll have to keep bugging you until it hurts
morning @Pimgd
so the book is I get to review is properly written
... but the code isn't
who needs semicolons anyway
compiler doesn't complain if you leave them out so why bother
7:58 AM
Q: Composition in a communication protocol

saracaenI am working on a communication protocol that will communicate with a device over a USB or TCP connection. In the code I have a class called Device that represents the device. From here I would like to be able to do two things; communicate with the device (requesting and writing data), and backu...

Q: Simple Async Google Maps initializer with AngularJS

Dmitri ZaitsevHere is a simple reusable AngularJS factory I came up with to initialize Google Maps Asynchronously, which somehow does not seem to be supported by major libraries (see below): Following Google's guidelines I am using global callback function (which seems to be unavoidable harm), that resolves a...

Q: Optimize within the sheet

Tarikagain I'm stuck with vba and it is legging. The latest code I added was the code below. I think this is the cause of legging (taking to long). I was wondering if there is a faster way to do this: With Sheets("Groups") .Cells(1, 1).Value = "Groups" .Cells(1, 2).Value = "Aantal" .Cells...

8:32 AM
Two more upvotes for a new user, please:
8:44 AM
you want them in chat?
9:06 AM
well I did also one so he has now 26 rep
Q: Optimize spreadsheet-filling routine

TarikI'm stuck with the slow VBA routine below, which I think is the cause of lagging (taking to long). I was wondering if there is a faster way to do this: With Sheets("Groups") .Cells(1, 1).Value = "Groups" .Cells(1, 2).Value = "Aantal" .Cells(2, 1).Value = "9N4" .Cells(2, 2).Value ...

@Pimgd I'm for semicolons => they upgrade the readability of your code
I think he needs 20 rep too
@chillworld yeah but uh lemme show you a snippet
yesterday, by Pimgd
      protected function recourse( str : String , count : uint = 0 ) : Boolean
         var tmpAr : Array;
         var expressionString : String = (count < profanityAr.length - 1) ? '\\b' + profanityAr[count] + '\\b' : profanityAr[count]

         var regExp : RegExp = new RegExp( expressionString , 'gix' )
         tmpAr = (regExp.exec( str ));
         if (tmpAr != null)
            return true
            if (count < profanityAr.length - 1)
full snippet in link, 1 point for each improvement you can spot
I find 8 things that could be improved
well if it was java => an else if should be better indeed
yeah you can use else ifs, so using if(blah){} else { if(blah2){}} is silly
9:16 AM
are point comma not required?
Some context: it's intended as a profanity filter on a form.
The code as-is works (compiles and works)
But semicolons ; should be used, you'll get a warning for each line that's missing them on strict compilers
(that's 2 points already =D)
tmpAr = (regExp.exec( str ));
tmpAr = regExp.exec( str );
that's a hack actually, to convert Object to array.
But we only check for null, so you're right, this cast is unnecessary
(3 points XD)
(Sidenote: conversion from Object to array never fails, AS3 array is more like a javascript object)
well I should also put a check that profanityAr is not null (but don't know the context so maybe it doesn't have to)
I had forgotten about that - mine was the index check so lets put it at 5 points
9:22 AM
as well that profanity[count] sure ahs that index
The index is implicitly checked of course via the recursion and the default to 0... but emptyArray[0] is still a crash
here's the docs for regexp if that helps =D help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/…
and for the rest I let it to you ;)
It uses .exec, which runs the entire regular expression and returns matches
Use .test instead, it returns a boolean whether there were any matches
... if you get a boolean back, why bother storing it in a separate value (that you declare at the top of the function?)
so that's 7...
Q: Different Approach to the following ASP.NET Web API Action

ArmandMaybe someone here can help me sort out this implementation and make it better. First the following constraints: 1 Controller & Action that accepts all post requests, these post requests will always be XML data but can be different in the sense that the elements and the element count can diffe...

count < profanityAr.length -1 actually doesn't work properly; given a vector with "CURSE, BLARGH, BLERGH",
it only tests the first two
(which is a bug)
Then it uses recursion
nobody knows why... it only makes things more annoying
String.match saves you from building an entire regexp object, although this is an option, not something that is necessarily wrong
str is a poorly chosen name, something like "stringToTest" or something else that implies what it's for would be better
word boundaries should be applied to all curse words in the filter
And that's it I think
8 (bug), 9 (recursion), 10 (naming), 11 (word boundaries)
And then the problem is that most of the code in the book is like that
it hurts me =/
9:35 AM
@Pimgd one sec, deploying webapp on tst and acc
wat, both?
Shouldn't it go through testing first?
Just do them both :D
Q: LinkedList to be used in a stack or queue

Taylor HustonThis all works. Just wanted to make sure I didn't miss anything. Coming from C++ and working my way through Algorithms, 4th ed. Here is my LinkedList class: /* Linked List Implementation Based on Algorithms, 4th Edition, Section 1.3 */ import java.util.Iterator; import java.util.NoSuchEle...

Q: Dungeon generation in Scala

Ben SI've recently begun learning Scala, and while I've run into its concepts before (immutability, tuples, first-class functions) I'm not sure whether I'm using the language how it's supposed to be used. My learning project is going to be a simple little dungeon crawler, and while you can see the cod...

Aha, I received the bronze badge on SO
Got an array problem? I'm your dude!
9:51 AM
it was in testing for the client. bugfix so new release on tst and acc both (client test on acc)
but appearently the pw and place is changed from acc
@skiwi : do you use java-fx ?
@JeroenVannevel gratz
@JeroenVannevel : nice !
10:04 AM
@Bhathiya-JaDogg-Perera Yes :) JavaFX 8
Monking @all
Monking @Vogel612
@Heslacher you read my comment on the updated answer?
Monking Every One :D
@Vogel612 Yes. About the loop. Assume the BubbleSort is not implemented, calling if (!mapping.TryGetValue(algo, out impl)) will be true, so owner.SelectAlgo(Algorithm.BUBBLESORT);would have been called. This will then call GetAlgoImplementationFor() again..and again...
@Bhathiya-JaDogg-Perera monking
With not implemented I mean not in the dictionary
And btw monking
10:16 AM
aaah, darnit..
but only in the getSelectedAlgorithm call..
@Vogel612 No, also inside the init()
@Heslacher yeah, right.
JavaFX sometimes drives me crazy
Yeah it does
Especially when learning new things
Overall I think it's miles ahead of Swing
Right now I'm replacing (read: removing everything and adding new child) a part of content, but I cannot get it to resize properly
10:24 AM
@skiwi : mm, are you using undecorator by any chance ?
I managed to get it working for some reason now though, and not using an undecorator here
Q: Javascript onKeypress Validation

PrakashThis is a function for JavaScript validation var alpha = "[ A-Za-z]"; var numeric = "[0-9]"; var alphanumeric = "[ A-Za-z0-9]"; function onKeyValidate(e,charVal){ var keynum; var keyChars = /[\x00\x08]/; var validChars = new RegExp(charVal); if(window.event) { keyn...

1 hour later…
11:33 AM
JavaFX 8 went from being somewhat annoying to being awesome again
how come
Hmm, writing documentation is not fun. But I want my library to have some extraordinarily helpful documentation to go with it.
So I'm doing a Github Wiki. Yesterday I finished the home page and the "Getting Started" page which serves as a guide line for getting the library into your Xcode project for those that don't know how.
11:50 AM
@SimonAndréForsberg Monking.... Bon jour
lol, SO is good for me today, mine question has already 5 votes and 2 answers without posting it here
Q: Deferring logfile close in Go

Duncan Baynepackage main import ( "bufio" "log" "os" ) var logFile *os.File func main() { createLogger() defer logFile.Close() // do some stuff } func createLogger() { logFile, err := os.OpenFile("log/app.log", os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666) if err != nil { ...

Greetings, Programs.
@Donald.McLean Greetings, user
moning @all the one's who entered while I was MIA
12:03 PM
@skiwi : Are you using netbeans 8 ?
@Bhathiya-JaDogg-Perera Yes
good :D
SceneBuilder is sloow
The JavaFX SceneBuilder 2.0 tool?
yeah, that one. When the FXML has lot of controls, it freezes
12:07 PM
You shouldn't be putting lots of controls on it then... ;)
sometimes it crashes too.
No, but you are separating parts into different FXML files, right?
and mine seems stable here
No, I'm not doing that, I just follow the bad coding practices rest of the team members use.
An Image within a ScrollView is driving me crazy right now...
You mean... you have a whole application in one FXML file of 10000 lines?
No there are at least 50 FXML
12:09 PM
ah okay, then that part is good
one of them has 800 lines
@Bhathiya-JaDogg-Perera, do you ever have the issue that scrollbars are being weird? Say that when a vertical scrollbar is needed, then because of the scrollbar being added, now also a horizontal one is needed?
@skiwi : no
12:27 PM
Yay, new errors, don't worry I can fix it
compiler message file broken: key=compiler.misc.cant.resolve.args arguments=method, addTodoEntry, , , {4}, {5}, {6}, {7}
I just think the error looked funny
what is compiler.misc.cant.resolve.args ?
For some reason it doesn't show the real message
It's a properties key to index the real exception
I think thats a javac bug
dammit @skiwi stop finding bugs in the JVM and Java framework!
12:34 PM
Q: azure cache getoradd (without locking)

TewrInspired by the non-locking implementation proposed in this thread: Locking during cache population , the following code is an attempt to (about) do the same using the azure cache. As I'm totally green on the azure cache I'd appreciate input on best practices or pitfalls... I should add that this...

:( I just lost a chance at an interview, Because I was sleeping and my phone was set to silent
hi everybody
12:40 PM
Interview! where? @Bhathiya
company in sri lanka : IFS
Sorry, I don't heard about it. Is it a good company.@Bhathiya
Q: WAP to check if a number is buzzy number or not

SparrowI don't know what are buzzy numbers. I find a question on a newspaper article. Write a program to check if a number is buzzy number or not. I just wants to know the logic of program and meaning of buzzy number.

I asked it.@Captain
Actually to be honest I know what is the answer, I just did it to gain my repo.
And may be I will lose some, because of this stupid question @Captain
@afzalex it looks like our mod nuked your question ...
btw google ftw.
12:53 PM
@afzalex : there's a branch in india too :D
@afzalex : I think it's a good company
1:13 PM
user image
Have you guys seen it :D
Priceless @Bhathiya-JaDogg-Perera.
gotta love java-reflection api..
public static Object callInternal(final Object instance,
			final String methodName, final Object... args) {
		Method[] declaredMethods = instance.getClass().getDeclaredMethods();
		Method toInvoke = null;
		for (Method method : declaredMethods) {
			if (method.getName().equals(methodName)) {
				toInvoke = method;

		try {
			Object result = toInvoke.invoke(instance, args);
			return result;
That's nasty
@Bhathiya-JaDogg-Perera there is a whole chapter titled with that in "Clean Code"
@JeroenVannevel I excluded the catch blocks for readablility.
@Vogel612 : That's where I saw it
1:22 PM
@Bhathiya-JaDogg-Perera we got some fanatics readers of this book here
including me ;)
Talking about nasty
Q: Can I change current stacktrace in C#?

golergkaIn short, I need to modify the current stack trace in C#, so that method that I call (which I cannot modify) would think that it was someone else who called it. Now, to give a little context about why I need to do such a horrible hack. In Unity3d, Debug.Log creates a new record in developer con...

@JeroenVannevel That's also nasty
Q: secure worksheets from removement

TarikI am looking for a function so that sheets can not be deleted? Is there a way to secure sheets so that it can not be deleted or adjusted. thanks

@rolfl Bonjour, Monseigneur Monkey.
1:32 PM
yeah! :( @Vogel612
Q: Python3.4.1 geting pictures from URL

rainI am learning to grab pictures from URL and found a q&a here http://stackoverflow.com/questions/8286352/how-to-save-an-image-locally-using-python-whose-url-address-i-already-know .Since it's py3 now, I changed "import urllib" to "import urllib.request" and urllib.urlretrieve("http://www.digimouth...

Quick question on the side... what will get returned if I call a void method via reflection??
Object result = method.invoke(instance, args);
I'd think it would just return null
it does...
next time I better read the javadoc..
"if the method is of return type void, null is returned"
primitive arrays are returned as is, and primitives will be wrapped in Objects.
@Vogel612 It does wonders, huh
1:41 PM
@skiwi well every second lib I work with has 0 javadoc..
including quite some of the actual java internals..
but hey, reflection got it ;)
I didn't even expect it to have javadoc.
I've also noticed a few of those libs...
java.* stuff is always good
javax.* is where the fun starts
Let the fun start here as well... selectionPane.addEventHandler(MouseEvent.ANY, mouseEvent -> scrollPane.fireEvent(mouseEvent));
@skiwi that looks broken somehow.
selectionPane.addEventHandler(Event.ANY, event -> scrollPane.fireEvent(event)); is better
It's because there are two panes on top of eachother, and one blocks events
now there is a configuration setting for this, but then I cannot add a handler on mouse events anymore, which I need later
Monking @Phrancis
1:48 PM
@skiwi are you sure you are not breaking stuff with that????
I think I'm fine
Else I'll notice it, sooner or later.
would be nice to have it sooner, or not at all, right ;)
but I think I am breaking unit-tests with what I am doing here:
	public void testReloadCurrentProductReloadsCurrentProduct() {
		long productId = 75l;
		Product validProduct = ProductTestHelper

		Whitebox.setInternalState(cut, "currentProduct", validProduct);
		Whitebox.setInternalState(cut, "mode", Mode.EDIT);

		TestHelpers.callInternal(cut, "reloadCurrentProduct");

Yesterday I had an awesome unit test implementation
It executed all test code on a different thread in the background, and thus finished and passed instantly.
Accidental awesomeness?
Q: PHP Form Builder Class

Hassan AlthafI would like my Form Generator Class to be Reviewed. I want to know about the following topics: Is this efficient? Is this having flaws? Is this using the concepts in the proper way? Are there any security issues? Is my coding style correct? <?php class FormBuilder { public function buildF...


« first day (464 days earlier)      last day (2057 days later) »