I worked two days solid on the issue page. It’s not too hard, but JavaScript sucks.
I spent several hours trying to figure out why one thing didn’t work. Finally I found it. I was adding two numbers, but JavaScript thought they were strings so it concatenated them. The code was doing this just before filing the object away using the result. Code elsewhere was failing because the objects couldn’t be found.
This code is all in the browser. If it was in the server, there’s probably some way I could have created a test for it. But writing tests isn’t something the developers did, so I don’t have an example…
I spent a few hours trying to get a Vertx.io system running, with Java. It looks like it’ll take an extra week, and it won’t help me with the front-end, where most of the challenges are, so I gave it up.
I finally got most of the issue page working today. Mucking with Angular was unpleasant, too. Angular is the UI technology. Angular is overbuilt, poorly documented and not very fast. It’s also very complex to code unless one gets its cryptic patterns just right. Luckily, the developers weren’t very experienced with it, so they wrote things out simply, all in the web page. This means things aren’t very reusable, but they’re simpler. Still, it took me a while to make the checkboxes and radio buttons work.
I can now answer questions and the answers are saved and tallied. When I bring up the page again, the answers are set.
I still have to store the main issue checkbox result that says whether the user wants to receive reports on an issue. After debating with myself, I decided to store it as a regular answer, so it’ll use the same tallying mechanism. But it means not tripping over the answer elsewhere, and I had to update my database-filling software.
And I discovered another piece of the page that the developers had implemented as “vaporware.” Maybe I’ll just leave it out… We’re already leaving out the “More Information” links…
They wanted to give me a demo, but I refused. A demo shows the things that works. I wanted to see tests, and after looking at the code, it was pretty easy to create tests that failed. And this would have been all on their schema with its slow queries…
They wanted the second half of the week’s payment. But that was for completing the milestone. What they did was far from complete. And I’m struggling to finish the basic functions.
I found a bunch of other problems, too. The security is non-existent. Any hacker could ruin everything. Hopefully, with some help we can get it ready in a week or two. Another week or two…
I’m not going to finish the page tonight. I need to spend at least 6 hours reviewing a draft of the novel. That’s also late. Maybe it can be published by the end of the month, but more probably mid-June… It was supposed to be done in March…
Finances are running low. Time is money. Meanwhile, many more millions are being raised for politics as usual…