Plenty of TV spoilers going around for me lately,
and are apparently hard to avoid (from facebook and word of mouth).
I'm behind on both the Walking Dead and Fringe, so it was bound to happen, especially with big events (ie characters dying) which can't be kept secret.
For Fringe, since I did get caught up a little, I have to say I was still shocked to see it.
I started to watch season 3 of the Walking Dead season 3, but stopped after the first episode.
It's good, action packed, I like where the story is (at the prison),
but I realized I wanted to read the Governor books before seeing him on the show.
Currently I'm listening to the audiobook for Rise of the Governor, picked up from the library on 9 cds.
I'm also planning to read/listen to Road to Woodbury next.
Wednesday, November 21, 2012
Monday, November 12, 2012
Battlestar Returns
Glad to see the return of Battlestar, even as a web series.
I watch most of my content online, so it actually works out well.
Just watched the first episode of Battlestar Galactica: Blood and Chrome on Machinima youtube.
I had to check it out after seeing the trailer.
Feels like going back to basics for me, with the cylon war, viper pilots, and CG space fights.
Adama was one of my favorites (because of Olmos) and its focused on him, joining the Battlestar ship for the first time.
Except for a few production quirks as others mentioned (distracting lens flares), I enjoyed it.
Labels:
tv shows
Monday, November 5, 2012
Space Adventures!
I just finished another Isaac Asimov book The Currents of Space,
Story of a man trying to remember who he is and the great danger he came to warn the planet about.
Another great space mystery, whodunit, with many characters playing detective.
Great visuals of a layered society with literal upper and lower classes, rich lavish city above in bright lights and peasants below in the shadows.
The follows up my previous read of Pebble in the Sky.
A man travels through time into the future, is subject to an experiment that gives him special mental powers, must adjust to a futuristic radioactive earth, must avoid being put to death for being too old, and also race the clock to save the galaxy!
Humanity has spread out across millions of planets and forgotten its origin, Earth, a poor isolated backwater planet with its population not even regarded as human anymore.
Both fun scifi stories from the library, I sure appreciate free reading.
Labels:
books
Friday, October 5, 2012
Sherlock
I just finished the first episode of season one of Sherlock (BBC) on Netflix.
Great show, I enjoyed it. Sort of like a younger House and Wilson, if they always worked together and both loved to bend the rules.
Only bad thing so far is how few episodes I have left to watch (5).
I was going to check out Elementary (if only for former-Hacker Jonny Lee Miller), but after hearing reviews and seeing previews for this show, I had to watch.
Great show, I enjoyed it. Sort of like a younger House and Wilson, if they always worked together and both loved to bend the rules.
Only bad thing so far is how few episodes I have left to watch (5).
I was going to check out Elementary (if only for former-Hacker Jonny Lee Miller), but after hearing reviews and seeing previews for this show, I had to watch.
Labels:
tv shows
Wednesday, October 3, 2012
Lesser Known
Finished two comics (series) from the Library recently.
Villians United and JLA The Tornado's Path.
I really enjoyed both after getting into them, especially the focus on lesser known/under-appreciated heroes and villians, like Catman and the Red Tornado.
Between the two, there were tons of DC universe characters I was clueless on and had to look up.
How can you go wrong with villains fighting villains, redefined characters and comebacks, an android trying to be human, and a zombie to prove how fragile humans are? Plenty of action and brutal scenes.
Villians United and JLA The Tornado's Path.
I really enjoyed both after getting into them, especially the focus on lesser known/under-appreciated heroes and villians, like Catman and the Red Tornado.
Between the two, there were tons of DC universe characters I was clueless on and had to look up.
How can you go wrong with villains fighting villains, redefined characters and comebacks, an android trying to be human, and a zombie to prove how fragile humans are? Plenty of action and brutal scenes.
Labels:
comics
Saturday, September 29, 2012
PDF Font Obsessive
I ran into another issue using Flying Saucer/XHTMLRenderer to generate PDFs: i18n.
I've had to dig into Flying Saucer a few times before (finding and upgrading to R9 for CSS fixes like word wrap, overriding image resource loading), and so it happened again.
During testing, i18n characters were missing (such as Polish, including this one).
I first suspected it was an issue with handling UTF-8, but after debugging I found all was handled correctly (property files, unicode codepoints, XHTML) up until PDF creation using iText.
It looks like the original output differences in PDFs can be explained by the default fonts included and handled only as Latin-1.
In order to handle UTF-8, fonts have to be included manually as shown in the Flying Saucer user guide. And these fonts will be embedded (despite saying otherwise).
In my CSS I was referencing Arial and other fonts.
To keep these I'd have to reference their absolute TTF file path and embed them in the PDF.
Since I'm not sure on the legality of this, I searched for alternative fonts with clear licensing.
I tried FreeSans, DejaVuSans, and finally settled at the moment on Liberation Sans matching Arial the best (and with the least vertical spacing)
These ended up adding 40-60k to the PDF size for embedding the different font types (sans/serif, regular/bold).
But thankfully now the UTF-8 characters are displaying in the output PDF.
I've had to dig into Flying Saucer a few times before (finding and upgrading to R9 for CSS fixes like word wrap, overriding image resource loading), and so it happened again.
During testing, i18n characters were missing (such as Polish, including this one).
I first suspected it was an issue with handling UTF-8, but after debugging I found all was handled correctly (property files, unicode codepoints, XHTML) up until PDF creation using iText.
It looks like the original output differences in PDFs can be explained by the default fonts included and handled only as Latin-1.
In order to handle UTF-8, fonts have to be included manually as shown in the Flying Saucer user guide. And these fonts will be embedded (despite saying otherwise).
In my CSS I was referencing Arial and other fonts.
To keep these I'd have to reference their absolute TTF file path and embed them in the PDF.
Since I'm not sure on the legality of this, I searched for alternative fonts with clear licensing.
I tried FreeSans, DejaVuSans, and finally settled at the moment on Liberation Sans matching Arial the best (and with the least vertical spacing)
These ended up adding 40-60k to the PDF size for embedding the different font types (sans/serif, regular/bold).
But thankfully now the UTF-8 characters are displaying in the output PDF.
Labels:
dev
Sunday, September 9, 2012
Combat Yams
Here's a little nostalgia.
I found a screencap playing Combat Arms from 09, with hacking of course.
I found a screencap playing Combat Arms from 09, with hacking of course.
For a while I really enjoyed playing it, fast-paced run-and-gun.
Labels:
gaming
Tuesday, August 7, 2012
The Complacent Developer
I've grown complacent in my current position.
I like what I do. Despite being challenging and stressful at times, I find it satisfying. I've learned a lot about bad programming over the last year.
I'm being paid to do it, not the amount I would like, but enough to survive.
I like my team. I work with a nice bunch of people.
And as it must happen, my bubble is burst, as it was today.
One of my team members is leaving. The developer I've worked closest with, who started with me, and is the only other developer who knows the applications as well.
It was a bit of a shock, but not completely surprising.
I can only speculate his reasons for leaving: corporate culture is not a good fit or holding back creativity, wanting a domain change or just to work on another project, and of course money.
I can understand all of these reasons for leaving, except money.
Apparently at this time I feel having a great team and project to work on is more important, otherwise I would be looking elsewhere (or maybe this is just my complacency).
From an outside perspective, he seemed bored, or maybe his norm is regularly browsing the internet/news.
I wouldn't describe him as the best coder, considering mistakes and missing details at times, but he is great at pushing ahead (getting to 80/90% quickly). He's someone to commit code without running the unit tests and then needing to commit a fix after the build breaks. But he has great ideas, especially on technologies, and wasn't afraid to speak up or against. I'll miss this input. And he was easy to get along with, not abrasive, not annoying.
The last time I lost a team member like this, I left shortly after.
Because I knew that things were headed in a direction that didn't feel right, and I lost the only person I enjoyed working with.
But thankfully I am not in the same place.
For now, I still have other good developers and fulfilling work. If and when that changes, I'll reevaluate. Maybe he was right to leave. Time will tell.
I say it wasn't completely unexpected because I knew it had to happen at some point, especially since I felt fairly dependent on him.
With him looking at the path moving forward, I was able to focus on the details and sweep up the crumbs.
He was also able to handle at least half of the meetings/issues/questions, freeing me up at times.
Now I will be put to the test of standing alone as the developer with the most historic/overall knowledge of the applications (possibly the only go-to for info and questions).
And I'll need to dig in and learn any of the pieces I've been able to ignore so far.
Time to step up.
Labels:
dev
Saturday, July 14, 2012
New Spider-Man
I saw the new Amazing Spider-Man film in 3D.
Here was my attitude going into the movie:I don't have a huge motivation to see this in the theatre, I could wait until it's out on NetFlix or somewhere else. I do like the main actor Andrew more than Toby, but I can't imagine the story is different enough. Hopefully I will be proven wrong.
Well, I'd say it was worth the trip.
To me it felt less campy, almost realistic (if you ignore some of the over-the-top only-CG sections) and a bit raw.
I like that Peter's not perfect, he's human (for the most part). He's awkward at times, injured, struggling to control his abilities, learning on his own, creating his suit, causes his uncle to be shot and cannot save him, seeks revenge against a bully and his uncle's killer. He brings some nostalgia to me as a hoodie-wearing chain-riding and skating kid. And of course I'm glad he's not a wrestler in it but I like the reference to creating his mask.
We see his parents with a better backstory (apparently to be continuted in later films).
I really liked the few funny scenes like the smart-talking spidey "i'm scared of knives" (reminding me of the animated TV series a little) and the Stan Lee's cameo in the library. Oh and the accidental beat-down in the subway "sorry sorry".
I also didn't like the number of people that saw his abilities as Peter: kids at high school playing basketball, people on the subway, police and public out in the street. Maybe it goes to show how inexperienced and vulnerable he is starting out.
I'm not a big fan of the lizard, definitely low in my rank of enemies, but it ended up being a great start to a series of films. I had completely forgotten about Dr Connors appearing in the earlier Spider-Man 2/3 films (not as the Lizard but as a professor/physicist).
The film did have me wondering about how Spider-Man and the Lizard were transformed.
For Spider-Man, did the spider bite transfer part of the spider DNA with the serum to allow merging across species/materials (assuming spiders were spliced with a strong material).
But Peter's appearance does not change to look like a spider (as happens to the Lizard). He gains speed, strength, senses, climbing ability. Is this from such a small exposure allowing a partial transformation with possibly multiple bites from the spider required?
Since the Lizards transformation is different, I assume the formula/serum used is also different. Was the formula from Peter's father wrong? If so why? Did Peter's write it down wrong (he did just memorized it)? Or had his father left it flawed in-case found? It's interesting since both point to Peter being flawed (not remembering correctly or being in over his head).
In comparing this film to comics/animated TV:
- Core theme of Spider-Man is the same as the comic: relatable teen with no mentor, learning for self.
- Peter bit by modified spider (not sure if radioactive as in comic).
- Spider-Man shooting web from devices is same as comic (but unlike earlier films).
- Peter does not catch his uncle's killer (not yet atleast), unlike the comic (and earlier film).
- Peter's parents backstory is different from comic (meeting and death, and probably also working for CIA)
- Peter meets Gwen in college in the comic (some also have this in high school).
- Gwen's dad is a cop and does have a fight with Peter, but he instead dies from Dr Octapus in the comic.
- Gwen is an intern with Dr Connors similar to the animated TV.
- Lizards backstory is different from comic (lost arm in army and works from home in Florida) but similar in animated TV (lost arm from accident, working for Oscorp).
- Lizard also wants to turn NY into lizard-people in animated TV.
There are many different comics and TV shows, so there is sure to be a combination of these that can match the movie.
So why was this film needed?
Apparently there were stories missed in the earlier films that can now be explored.
An obvious opportunity is a tie in to the Avengers, such as Dr Connors working for SHIELD or a Captain America connection with the Red Skull and Peter's parents (similar to the comics, although probably not since the film appears to blame Oscorp).
I missed the ending providing a sneak peak ahead into the next film, but hopefully we find out the truth about his parents.
Labels:
movies
Thursday, July 12, 2012
Code Warfare and Seam
pinned down after a short skirmish the previous day
it was too quiet, spirits were dampened
earlier morning brought some hope, help would be coming
which eroded throughout the day, it was not enough
deep in the trenches, we waited still, scounts had not returned
our only option was to retreat and go around
all were hesitant, so i made the move...
summary: i hate jboss seam
or rather we all do at this point
for the past 2 days, we (the entire team including even other teams) have been researching seam issues.
including class conflict issues, instances not matching expected classes, not being able to cast, for seam core classes.
the errors had been occurring for the past few months but not caused any observable issues... until now.
and were threatening to hold up deadlines.
today we found what appears to be the cause: having two seam ears in one jboss 4 server
this apparently causes the apps to randomly step on each other,
including loading/creating core seam components from wrong classloader, from other ear.
eventually, i gave up on trying to find out why, as we all slowly did.
it didn't make any sense, all ear isolation settings had been set and no obvious causes.
many fixes/attempts were made, many possible solutions, but none had any effect.
in the end, i went forward with removing seam from one of them.
since it had been added recently for one and thankfully used very little.
so it was a viable option, and better than setting up a new jboss to run each ear in its own.
... and so the battle was won,
but the war will continue
(haha war, get it? ear-war, ok, over and out).
it was too quiet, spirits were dampened
earlier morning brought some hope, help would be coming
which eroded throughout the day, it was not enough
deep in the trenches, we waited still, scounts had not returned
our only option was to retreat and go around
all were hesitant, so i made the move...
summary: i hate jboss seam
or rather we all do at this point
for the past 2 days, we (the entire team including even other teams) have been researching seam issues.
including class conflict issues, instances not matching expected classes, not being able to cast, for seam core classes.
the errors had been occurring for the past few months but not caused any observable issues... until now.
and were threatening to hold up deadlines.
today we found what appears to be the cause: having two seam ears in one jboss 4 server
this apparently causes the apps to randomly step on each other,
including loading/creating core seam components from wrong classloader, from other ear.
eventually, i gave up on trying to find out why, as we all slowly did.
it didn't make any sense, all ear isolation settings had been set and no obvious causes.
many fixes/attempts were made, many possible solutions, but none had any effect.
in the end, i went forward with removing seam from one of them.
since it had been added recently for one and thankfully used very little.
so it was a viable option, and better than setting up a new jboss to run each ear in its own.
... and so the battle was won,
but the war will continue
(haha war, get it? ear-war, ok, over and out).
Monday, July 2, 2012
More Star Wars Reading
Continuing my earlier Star Wars post,
I finished reading Dark Lord: Rise of Darth Vader and Labyrinth of Evil from the library.
I enjoyed both these stories filling the gap in between the films (before and after episode 3).
I finished reading Dark Lord: Rise of Darth Vader and Labyrinth of Evil from the library.
I enjoyed both these stories filling the gap in between the films (before and after episode 3).
Labels:
books
Sunday, July 1, 2012
Walking Dead S2
I finally came back and finished season 2 of the Walking Dead
After recovering from the (disasterous) end of season 1
but thankfully the second season moved a little closer to the comic
Of course there are things i didn't like about season 2
the obvious one is dragging out sophia missing, i know it had a purpose but it was annoying to EVERYONE
It's hard with such a popular show now to avoid SPOILERS (which there are of course some below), so i knew most of the big surprises
and of course the best part of season 2 is the ending.
getting some idea on the rules of zombies and how this all works. apparently romero based with any death resulting in a zombie. and we see zombies eat animals as well.
and then there's the finale with the herd/horde, rick being solidified as the leader, and then a teaser of michonne and the prison.
as for the comics, i am months behind at the moment, not entirely into it being in a slow spell, still back on the hilltop issues and wondering what is to come.
After recovering from the (disasterous) end of season 1
but thankfully the second season moved a little closer to the comic
Of course there are things i didn't like about season 2
the obvious one is dragging out sophia missing, i know it had a purpose but it was annoying to EVERYONE
It's hard with such a popular show now to avoid SPOILERS (which there are of course some below), so i knew most of the big surprises
and on that topic, i didn't like sophia getting turned and killed
sophia made me realize how different the tv show is from the comic,
i think of them now as the two universes or timelines (like Fringe), with the same characters (roughly) but different outcomes, which is good, anything can happen.
it's fitting that rick should be the only one willing to shoot her, making me think back to the beginning of the pilot.
i think of them now as the two universes or timelines (like Fringe), with the same characters (roughly) but different outcomes, which is good, anything can happen.
it's fitting that rick should be the only one willing to shoot her, making me think back to the beginning of the pilot.
the sophia search was an interesting twist, where shane is actually right that it was a waste of time, and rick admits to being wrong, which fits with rick's struggles to lead in the comic.
also fitting that otis was the only one who could have known where she was.
Dale! i was shocked to find out he would be dying this season as well.
the opposite of shane (in many ways on the show), his time was cut short compared to the comic, but close in gruesomeness.
but he avoided being bitten twice and being eaten by cannibals, and eventually was shot (per the comic).
but he avoided being bitten twice and being eaten by cannibals, and eventually was shot (per the comic).
his death fit well with the episode, representing the humanity of the group.
great to have a couple episodes with rick struggling over killing the innocent to protect themselves, where rick fails to shoot in front of carl or to end his friends suffering.
i didn't like that shane was still alive, but this was eventually fixed.
and he was shot by carl matching the comic. well except the was a zombie.
we get to know shane a lot more in the tv show. how bad of a person he really is (killing otis). and i think it's a fitting end for him, since he hates zombies so much, it's his worst end.
and he was shot by carl matching the comic. well except the was a zombie.
we get to know shane a lot more in the tv show. how bad of a person he really is (killing otis). and i think it's a fitting end for him, since he hates zombies so much, it's his worst end.
great to have an entire knock down fight episode with shane versus rick.
and of course the best part of season 2 is the ending.
getting some idea on the rules of zombies and how this all works. apparently romero based with any death resulting in a zombie. and we see zombies eat animals as well.
and then there's the finale with the herd/horde, rick being solidified as the leader, and then a teaser of michonne and the prison.
such a great season, despite having its differences with the comic. it's standing on its own.
as for the comics, i am months behind at the moment, not entirely into it being in a slow spell, still back on the hilltop issues and wondering what is to come.
Labels:
comics,
tv shows,
walking dead
Saturday, June 30, 2012
Abraham Lincoln Vampire Hunter
As mentioned earlier,
ever since I heard about Abe Lincoln and vampires being mixed together I had to check it out.
And now 3 months after listening to the audiobook, I finally got the chance to see the film.
SPOILERS below about the film and book.
The beginning of the film including his childhood felt rushed in comparison to the book. It does include his father being in debt to a vampire and the death of his mother but then skips ahead, missing 1/3 or more of the book.
I can't say these were my favorite parts of the book, with his drunk father and moving around. But in the book he avenges his mother as a child, staking his first kill.
In general the film chops out a lot of character development, personal connections, and motivations. Abe's father explaining the truth about vampires is replaced with a rushed version by Henry.
There is no slave friend in the book to push Abe to fight slavery. Instead he sees the truth of slavery with his own eyes, seeing vampires kill slaves on a plantation after an auction.
Actually, there's not much of a link between slavery and vampires in the film. And the film is also missing examples like vampires snatching children as reasons to kill them.
I don't remember silver having any big signifigance in the book, but it is the primary/only weaspon against vampires in the film. For example, although the emancipation proclamation is shown in the film, it is not the cause for winning the war, but instead silver wins the war.
In the end, the biggest missing piece for me in the film is Abe and Henry's relationship.
The film treats Abe like just another vampire hunter to do Henry's bidding. There is no reason given for Henry to save Abe's life or train him. He doesn't even appear to like him in the movie.
And then there is the ending, which was another huge disappointment compared to the book. We don't see anything about Abe's death: we have no backstory on Boothe as a vampire, we don't see Henry fighting Boothe to avenge Abe, we don't see Abe as a vampire in current times.
Instead, we see Henry in current times, but it has no real meaning. To me, it seems like this film should fit into a larger series of vampire hunter films, where Henry goes to recruit famous people from history.
I walked into this movie knowing the Rotten Tomatoes rating of 35% and expecting the critics to be wrong. But this ended up being the percent of the book in the film (small snipets from the the middle), which is strange since it was written by the author of the book.
I personally didn't like the overuse of CG for vampire faces and the chase over horses during a stampede.
My hopes were just too high for this film and it didn't live up to the book.
ever since I heard about Abe Lincoln and vampires being mixed together I had to check it out.
And now 3 months after listening to the audiobook, I finally got the chance to see the film.
SPOILERS below about the film and book.
The beginning of the film including his childhood felt rushed in comparison to the book. It does include his father being in debt to a vampire and the death of his mother but then skips ahead, missing 1/3 or more of the book.
I can't say these were my favorite parts of the book, with his drunk father and moving around. But in the book he avenges his mother as a child, staking his first kill.
In general the film chops out a lot of character development, personal connections, and motivations. Abe's father explaining the truth about vampires is replaced with a rushed version by Henry.
There is no slave friend in the book to push Abe to fight slavery. Instead he sees the truth of slavery with his own eyes, seeing vampires kill slaves on a plantation after an auction.
Actually, there's not much of a link between slavery and vampires in the film. And the film is also missing examples like vampires snatching children as reasons to kill them.
I don't remember silver having any big signifigance in the book, but it is the primary/only weaspon against vampires in the film. For example, although the emancipation proclamation is shown in the film, it is not the cause for winning the war, but instead silver wins the war.
In the end, the biggest missing piece for me in the film is Abe and Henry's relationship.
The film treats Abe like just another vampire hunter to do Henry's bidding. There is no reason given for Henry to save Abe's life or train him. He doesn't even appear to like him in the movie.
And then there is the ending, which was another huge disappointment compared to the book. We don't see anything about Abe's death: we have no backstory on Boothe as a vampire, we don't see Henry fighting Boothe to avenge Abe, we don't see Abe as a vampire in current times.
Instead, we see Henry in current times, but it has no real meaning. To me, it seems like this film should fit into a larger series of vampire hunter films, where Henry goes to recruit famous people from history.
I walked into this movie knowing the Rotten Tomatoes rating of 35% and expecting the critics to be wrong. But this ended up being the percent of the book in the film (small snipets from the the middle), which is strange since it was written by the author of the book.
I personally didn't like the overuse of CG for vampire faces and the chase over horses during a stampede.
My hopes were just too high for this film and it didn't live up to the book.
Labels:
movies
Sunday, June 3, 2012
Snow White and Huntsman
Yesterday went to see this in the theater and gave it a mixed rating. Somehow it felt pretty shallow, like the over 2hr running time wasn't enough.
I think it came down to a few specific points:
1. I really enjoyed the beginning, following the classic story setup and some cool fighting/CG. Basically the scenes before Kristin Stewart appeared.
2. The dark forest didn't feel dangerous enough. Scary mostly from trippy mushrooms? Only one troll? And he gives up after losing a staring contest? I wanted more monsters and more threats.
3. Aweful ending? Feels like it rushes to a predictable end and then unsure what to do, just lingers on the last scene. I would have preferred jumping further into the future to show the land and people recovered.
4. So it's not a love story? Not that its a requirement, but there's the love triangle for the last 1/3 of the movie. And its unresolved so she ends up with no one? Is the huntsman the real "prince"? His name is in the title, he revives her, and there is that last look at each other.
Labels:
movies
Firefox Plugin QA
I was troubleshooting a browser image plugin that would not install, and found a few interesting things:
1. There was no indication that an error was preventing the installer from completing. Message says it completed successfully. Fail.
2. After running the installer step manually from the command line I could see the error, which was simply that the path it was trying to install the plugin didn't exist (Firefox plugins directory). This is a fairly new install of Firefox. It worked after I created the directory, but the installer should have handled this. Fail.
3. After installing, the version of the plugin in the browser showed as different from the installer version, making it difficult to determine when to update. Fail.
Of course I contacted the plugin's site to fix these and hopefully do better testing for their next release.
Labels:
dev
Friday, June 1, 2012
Star Wars
As I said before, I haven't been much of a star wars fan in the past.
But after read the last Darth book I found more at the library.
I flew through two Darth Bane books including Path of Destruction and Rule of Two.
I really enjoyed them and I'm waiting on the third to arrive.
Labels:
books
JMS and UI Automated Testing
My first real experience with using Selenium was not for testing but to automate a process.
ActiveMQ doesn't have a bulk move feature for moving messages between queues, which I needed. It only allows moving a single message in the web UI.
I could have created a JMS queue listener to bulk move messages, but instead I wanted to try some UI automation. My last experience with automation was using AutomatedQA TestComplete and JScript, so it was about time.
So I automated navigating to the queue, clicking the message link, choosing a new queue name in the dropdown, and finally clicking the move link. It was all easy, after I chose to use the deprecated SeleneseTestCase to extend (which just worked as expected) with:
setUp("http://localhost:4444", "*firefox");
I made it a little more complicated by extracting the timestamp and details about the message. To get these I used the CSS and XPath locator formats to pull from the HTML on the page (such as a specific row and column in a table):
The only real issues I faced were timing and browser support.
For example, the page load times varied per environment making me add in extra time for loading to work in all. I used Thread sleep in some cases since the waitForPageToLoad was not always reliable.
Originally I started using Firefox (*firefox) but it stopped working after updating to version 14. I switched to Chrome (*googlechrome) which worked without issue.
ActiveMQ doesn't have a bulk move feature for moving messages between queues, which I needed. It only allows moving a single message in the web UI.
I could have created a JMS queue listener to bulk move messages, but instead I wanted to try some UI automation. My last experience with automation was using AutomatedQA TestComplete and JScript, so it was about time.
So I automated navigating to the queue, clicking the message link, choosing a new queue name in the dropdown, and finally clicking the move link. It was all easy, after I chose to use the deprecated SeleneseTestCase to extend (which just worked as expected) with:
setUp("http://localhost:4444", "*firefox");
I made it a little more complicated by extracting the timestamp and details about the message. To get these I used the CSS and XPath locator formats to pull from the HTML on the page (such as a specific row and column in a table):
css=div.message pre
xpath=//table[@id='header']//tr[11]//td[2]
These allowed me to add more logic, such as deleting messages before a certain date or not moving messages with specific content.
The only real issues I faced were timing and browser support.
For example, the page load times varied per environment making me add in extra time for loading to work in all. I used Thread sleep in some cases since the waitForPageToLoad was not always reliable.
Originally I started using Firefox (*firefox) but it stopped working after updating to version 14. I switched to Chrome (*googlechrome) which worked without issue.
Labels:
dev
TV and Movies Recap
TV Season finales with shows including Fringe and Supernatural, I've been enjoying delayed on Hulu (well not enjoying the delayed part).
I feel like Fringe really stepped up in season 4 and delivered. And wow on the jumping to the future for the one episode filled with Observers, bringing back Bell and tying pieces together. Looking forward to season 5, though sad it will be the last.
For Supernatural in season 7, glad to see Castiel come back and Bobby as well, though different and shortlived apparently. I wasn't into this season a lot, including the leviathans. Different to have an almost-invincible and smart enemy (bent on global domination), contrasting the monsters of the week. I think the episode with Felicia Day was the highlight of the season. Exporing purgatory in next season 8 sounds interesting.
Season and series finale of House! It was a nice ending to an awesome show.
For Castle, all I can say is finally! and hopefully we find out more about the mysterious assassin/conspiracy. Not sure how I feel about that whole story now, but I did enjoy the episodes this season with superheroes, ghost hunters, and zombies.
Finished getting caught up on Californication, a fun rollercoaster season and cliffhanger ending. Made me think back to the previous season 4 that had Hank almost die from drinking/drugs and drowning.
Now getting caught up on Being Human (US version).
Still enjoying Game of Thrones as well, such a dark and awesome show. Sad to say there is only 1 episode left this season (too short).
Seen a few movies in the theater lately including Lockout and Avengers.
As expected, Lockout was an ok action movie, I went in with low/no exceptions so no way I was leaving disappointed. But yea, bad story, bad CG or editing, but some actors I enjoy. I really wanted to see Gilgun from Misfits in it.
Avengers was better than expected, again I went in with low expectations. But it surprised me in a good way.
On Netflix, I checked out 13 Assassins which I really enjoyed.
Saturday, April 21, 2012
Comp Maintenance: No Good Deed
Almost 2 months ago...
I was cleaning/fixing a 12 year old dell machine.
And forgot to bring it back.
On a whim, I tried to pick up a replacement (at walmart of all places), emachine for $300. It was about time for a newer comp anyway.
All went fine setting it up until trying out the internet. Weirdly it wouldn't load most webpages, really only google would load.
I tried using network tools, pinging worked for some, it was just confusing.
I brought it back home, tried on my network here (check if different from the dsl network) and all was fine.
So I went back and tried it again.
This time there was a different network issue, had to reset the modem because of changed security.
Afterwards, same issue, could not connect to some sites.
I hooked up the old dell machine on the network and it worked, everything worked.
So in the end I gave up on the emachine and brought it back, and I'll never buy one again.
I was cleaning/fixing a 12 year old dell machine.
And forgot to bring it back.
On a whim, I tried to pick up a replacement (at walmart of all places), emachine for $300. It was about time for a newer comp anyway.
All went fine setting it up until trying out the internet. Weirdly it wouldn't load most webpages, really only google would load.
I tried using network tools, pinging worked for some, it was just confusing.
I brought it back home, tried on my network here (check if different from the dsl network) and all was fine.
So I went back and tried it again.
This time there was a different network issue, had to reset the modem because of changed security.
Afterwards, same issue, could not connect to some sites.
I hooked up the old dell machine on the network and it worked, everything worked.
So in the end I gave up on the emachine and brought it back, and I'll never buy one again.
And the old dell would have to do for a bit longer.
Almost a month ago...
I picked up a refurb compag desktop off newegg for a great price (better than the emachine),
fast shipping and it has worked great since, no issues.
I picked up a refurb compag desktop off newegg for a great price (better than the emachine),
fast shipping and it has worked great since, no issues.
Labels:
pc
Weekend - tertainment
saw hunger games in the cinema this weekend
it was pretty good, and although i haven't read the book myself, it seems to follow the story well
the districts reminded me of the timezones from in time, segments distancing the rich from the poor
my only real complaint is that it felt unfinished, which is to be expected as the first in a trilogy
although i'm not a big star wars fan
i picked up a comic tag and bink and book darth plagueis from the library
looking forward to getting back into some reading
fringe is in high gear with lots of reveals and drama
with alter lincoln's death, broyles being revealed, and more insight into jones and his plans
i can feel the end of the season coming, and hope for atleast another partial season to follow
Tuesday, April 10, 2012
PAX East 2012
Here's a rough overview of my weekend in Boston:
Arrived late Friday missing keynote and Q&A (after walking from hotel)
played minefield in classic arcade
played the secret world in expo
saw the natural selection setup in expo (awesome since i remember playing it as a halflife mod back at lan parties)
lunch at flour bakery, grilled tofu sandwich (limited selection, usually only 2 vegan items)
played my last night on earth in tabletop (basic die z die scenario)
Had my thai vegan for dinner on Friday and Saturday (all vegan, but service was lacking)
Stayed at hyatt regency, close enough to walk to BCEC but thankfully got rides with shuttle/car since weather was chilly
Saw Penny arcade draw a strip and Q&A (barely made it after walking to get breakfast at flour bakery)
played more minefield and bosconian in classic arcade
played primal carnage in expo
played more last night on earth in tabletop (escape in trunk scenario)
caught second half of concerts with jonathan coulton (re your brains!) and mc frontalot (epic dubstep wubness yellow lasers version)
played zombie dice
And lots of wandering around checking out the other setups/games in expo, cosplay outfits, 8bit music, rockband stage, etc.
Had to head back early on Sunday so missed this day
Labels:
pax
Thursday, April 5, 2012
Lingering Defect
I like debugging code and solving defects.
And I like reading someone else's code and understanding it.
So these two come into conflict when the defect is in a black box system (from my view).
I interact with the web service, I have integration tests against it, I have ideas on how it should work.
And so when these are all raising red flags to me, I raise up the issue, since sadly I can do nothing about it.
All I can do is provide evidence of the bug as best I can.
Response comparisons between environments, screen shots of views using the service, etc.
And hope for another developer to investigate, and prove me right or wrong.
But it doesn't always work, and can lead to meeting after meeting, to just point fingers (ie "not me, must be you").
Am I mistaken? Is it my client code? What did I change? Can't I see it's working?
Which is all together frustrating.
Really what I want to do is just look though the code myself, but I cannot.
And I imagine a manager's perspective is not the best for discussing a specific defect.
With no personal knowledge of the code or of recent changes or a developer's secret "fix" that may break another part of the system,
a response like "nothing has changed" would be expected.
And I'm sure completely wrong. Code is always changing, or we would be out of a job.
(I know these are sweeping generalizations, this is purely ranting)
Labels:
dev
Saturday, March 31, 2012
TV Returns
So glad to see many returns to TV.
In Supernatural s07e17 the born-again identity, castiel is finally back!
Well kinda, or atleast briefly, which I was at first excited about and then not
For Fringe s04e15 a short story about love, more on the observers and peter/olivia
We get to see the return of the drill/egg from the beginning of the show (s01e04 beacon)
I actually enjoyed the nina and olivia connection, it was touching
And we get the answer to the universe/timeline debate, which is pretty much how I thought it would be resolved (somehow it would change back to our original characters)
And of course this means new Fringe podcasts as well!
And finally the long awaited return of Game of Thrones with s02e01 the north remembers
Didn't feel too thrilling but setting up the story with things to come and a brutal ending
Labels:
tv shows
Tuesday, March 20, 2012
Deploy Woes Continued, Bad Data
As I've mentioned earlier, issues happen with deployments.
And also post-deploy, both big and small.
Code assumptions
Assuming the data is in a good state. But there is always bad data.
Especially when using a bad UI framework, an old database model, and legacy code written under old assumptions.
And in trying to slowly cleanup a database for example, scripts can run fine testing in the Dev or QA environments. But if these aren't synced up with Production, it can and will fail there.
Suddenly a value is NULL unexpectedly, error error. Oops. Fail.
And also post-deploy, both big and small.
Code assumptions
Assuming the data is in a good state. But there is always bad data.
Especially when using a bad UI framework, an old database model, and legacy code written under old assumptions.
And in trying to slowly cleanup a database for example, scripts can run fine testing in the Dev or QA environments. But if these aren't synced up with Production, it can and will fail there.
Suddenly a value is NULL unexpectedly, error error. Oops. Fail.
Code management
Ambiguity for who owns the code and who is responsible is killer.
And on that same note, who understands deployment steps.
Having a lone wolf coder on fundamental code doesn't help.
It's far to easy to be heads down on your own work and ignore it, until it bites you.
More code reviews, more shared knowledge.
So you don't deploy to production and find it isn't working because it's only half deployed. Opps. Fail again.
Labels:
dev
Saturday, March 10, 2012
Abe Hates Vampires
I stumbled upon a trailer for the Abraham Lincoln Vampire Hunter film coming out later this year. And this made me want to read the book first in preparation.
But I found an even better solution, the audiobook, which works well since I enjoy podcasts and I can listen during my commute and at night.
So far I've flown through it and really enjoyed it. I like the mix of fact and fiction, giving it a realistic spin (as a retelling of Abe's journals). I like the premise that slavery and the civil war were primarily because of vampires. I was hesitant of the reader during the intro (and Edgar Allen Poe tie in), but otherwise it was good.
Labels:
books
John Carter (Virginia) of Jasoom
Went to see the John Carter film in the theater.
I enjoyed it more than expected, but then again I enjoy most scifi movies.
I liked the mix of different times/places or atleast civilizations with different technology, aliens of mars and civil war veteran. A little bit of the cowboys and aliens feel mixed with conan.
I enjoyed the mysterious bald men in robes influencing events, reminding me of fringe (bald,suits,fedora), adjustment bureau (suits,fedora), etc.
I didn't necessarily like all the CG and especially didn't like seeing it in 3D (gah hate it).
One thing that I enjoyed the most was the concept of traveling to/from Mars.
Specifically the notion of being copied and your body being in some sort of stasis.
How long can your body last in this state? How does it survive?
What happens to the copy when you return? Does it just disappear?
What about if your copy dies? Like what happened to the Thern who was shot on Earth, did he return to Mars?
The history of having a film created based on the books is interesting.
Seems that the film is different enough to not ruin the books, if I ever get around to reading them.
Labels:
movies
Sunday, March 4, 2012
Fringe break
Time for a Fringe break and I have finally caught up on the show and podcast.
The last episode before this break was huge, s04e14 end of all things.
Finally some explanations, about the observer september and nina, explaining what happened to peter, more about jones and olivia's powers.
There was so much packed in this episode, as it seems this season has been.
Feels like it is finally pulling things together (even after the whole universe vs timeline confusion), tying back to the first season even.
I really appreciate it, especially with the rumors of it being cancelled.
I'm sure it's bound to happen soon enough, same with Supernatural, and I can only hope good shows appear at some point to replace them. Those are definitely my top running scifi shows.
I can look forward to rewatching it all at some point too.
But for now I am hoping for a 5th season, even if shortened to give it a proper ending.
Labels:
tv shows
Wednesday, February 29, 2012
Spring JDBC
Took a very short break from JPA and tried working with Spring JDBCTemplate for a small project.
It's a mock version of a complex super optimized service using a lot of custom native sql.
I appreciated the simplicity of JDBCTemplate, and specifically the NamedParameter version.
I found the RowCallbackHandler useful for my case where each row didn't necessarily mean one object, and I was able to reuse the handler across different queries.
One problem I had was attempting to avoid creating new tables, and thus using what I had for columns. One problem was the indexes missing for the searchable columns in where clause.
But another more interesting one was needing to map two numeric columns into a unique numeric key. And the key is limited to a long value. In the end, I was able to combine the two numbers using 32 bit shifting to create the long value, treating them both as ints (AA+BB=AABB). With the issue that it would not work if they were beyond the max int value. Fine for now.
And this ended up working great, being able to encode the column values into a single unique key and translate them back into the separate column values for querying.
Labels:
dev
Tuesday, February 21, 2012
Admitting defeat and victory
tl;dr: bad data for testing can waste a lot of time.
I spent the last week or so trying to solve an issue.
The original goal was to reimplement an integration with a black-box system.
And it wasn't working.
Not only was it failing, but each testing request attempt crashed the system, preventing further testing without someone to restart it.
And of course there was no useful response or error info with the failure.
So I investigated and found an issue with the protocol and fixed it. No change.
As a baseline and comparison, I brought the old code into the new project. Same outcome. Failure without a cause, system down.
At this point it is getting too late into the development cycle and time to prepare the backup plan. This involved the new code calling the old project (not ideal since goal was to replace/remove it).
This is a difficult process: to admit defeat.
To admit that the world does not work as you expect it to, especially as a developer. To abandon your grand idea and accept your least ideal path. To hope one day to be able to come back and fix it given the time.
And in the end, the results were the same! Still failing.
Now this pointed to the request data being bad.
I had suspicions since it was one of the few differences (sending a remove command for something that didn't exist).
My guess was partially correct, but the root cause was bad test data. The ID being used was not valid in this dev environment. Normally this fails with a useful error message for other commands, but for remove it crashes the system.
So after a painful slow stretch of testing (having only 1 chance to test before killing it and waiting for restart), it wasn't even an issue with my code.
After using a valid ID, all implementations worked as expected.
Yes, this issue with bad test data had come up recently here.
Labels:
dev
Monday, February 20, 2012
Fringe-tastic
Fringe is really in high gear it seems.
And I'm always trying to get caught up with the week-delay on Hulu.
So much happening lately on the show and its all good.
So that even an episode like the recent s04e12 welcome to westfield that could have been just a fun mystery/monster-of-the-week was still driving the larger story.
What I really liked was how it reminded me of other stories I've enjoyed (twilight zone, scifi/horror/zombie films, supernatural, etc)
Being trapped in an apparently deserted small town
People are going insane, "infected", looking like zombie/mutant, raid the sheriff station for guns
Effects occurring in cycle (i thought of silent hill)
Surroundings disappearing, approaching closer (reminded me of langoliers)
Even the beginning of the episode had an X-files feeling with cars suddenly dying on a backroad with radio interference and lights above similar to a UFO
So I enjoyed the classic scifi themes while also building the main story of Fringe this season (david robery jones, the timelines/universes, different versions of olivia and walter)
Labels:
tv shows
Friday, January 27, 2012
Downtime continued
It's frustrating to not be able to keep a production app live without restart/redeploy for very long.
And so the saga of the last 6 months or so continues...
First with slowdown and constant garbage collection, memory dumps revealing mostly JSF objects and session data containing it.
Restarts of app server did not help, shortly after going back into constant full GC.
Similar behavior was seen in the past with a JSF bug causing threads to hang on Hashmap.get with full GC but these threads were not observed this time.
Then intermittent page rendering issues were found across multiple apps (funcionality not working, pages showing sections multiple times, javascript and page syntax errors).
Also logs showed frequent new unexpected errors from page actions missing data.
Able to replicate rendering issues externally and not directly from the app server.
Investigation of page html source showed the same html content delivered multiple times partially and becoming jumbled at the end.
This may explain the unusually large session/JSF objects storing bad page state data.
Further investigation and testing found the problem to lie in the network, specifically recent security updates.
It was a long process to find the cause and solve.
I can only guess what the fallout will be from the downtime and possibly junk/incorrect data flowing to/from the servers.
But I'm just glad it wasn't another bug in the app code for once.
Labels:
dev
Thursday, January 26, 2012
I Hate JavaScript Frameworks
Or specifically I hate JavaScript framework debates.
To start, I wouldn't call myself a JavaScript developer.
I've used it for years, especially with great libraries like JQuery.
And I've learned what I needed to make some nice UI look/feel.
But when it comes to debates on MVC JavaScript frameworks, I'm not sure what to think.
I'm thinking non-JS, especially non-JQuery, devs are the ones pushing toward frameworks.
I've done fine with JQuery.
Yes, building JS heavy web leads to JS bloat and custom JS for each page/section/function.
And yes there are lots of options/libs/plugins (as with any lang) and it's nice to standardize.
But I need to see the use cases/dev time/readability/maintainability etc improvements to buy into a JS framework.
I can guess the benefits, but at the same time I can also picture the downsides.
The web is changing constantly, and will the JS framework you lock into still be in dev in a few years.
And then there is the push for everything-as-a-service.
I get this too, especially useful to avoid duplicate functions across teams.
Do I want to just split up the backend into web services with just html/css/js on the front end?
Do I want to walk away from webapps? Well I'm a Java dev after all.
Not to say that I couldn't, but would I enjoy it the same?
To be continued...
To start, I wouldn't call myself a JavaScript developer.
I've used it for years, especially with great libraries like JQuery.
And I've learned what I needed to make some nice UI look/feel.
But when it comes to debates on MVC JavaScript frameworks, I'm not sure what to think.
I'm thinking non-JS, especially non-JQuery, devs are the ones pushing toward frameworks.
I've done fine with JQuery.
Yes, building JS heavy web leads to JS bloat and custom JS for each page/section/function.
And yes there are lots of options/libs/plugins (as with any lang) and it's nice to standardize.
But I need to see the use cases/dev time/readability/maintainability etc improvements to buy into a JS framework.
I can guess the benefits, but at the same time I can also picture the downsides.
The web is changing constantly, and will the JS framework you lock into still be in dev in a few years.
And then there is the push for everything-as-a-service.
I get this too, especially useful to avoid duplicate functions across teams.
Do I want to just split up the backend into web services with just html/css/js on the front end?
Do I want to walk away from webapps? Well I'm a Java dev after all.
Not to say that I couldn't, but would I enjoy it the same?
To be continued...
Labels:
dev
Monday, January 23, 2012
Reading
Started two new books from the library,
Outlander (which I haven't gotten far in but so far it made me guess the title could be Pride and Prejudice and Portals)
and an Asimov collection including Pebble in the Sky and short stories (from 1950)
After making my way through the robot series, I'm moving onto the empire series and this was the only one at the library, would need to request others
Outlander (which I haven't gotten far in but so far it made me guess the title could be Pride and Prejudice and Portals)
and an Asimov collection including Pebble in the Sky and short stories (from 1950)
After making my way through the robot series, I'm moving onto the empire series and this was the only one at the library, would need to request others
Labels:
books
TV return
So good to have shows returning, epecially Fringe and the podcast
And what a comeback!
It returned with what should have been the season break finale s04e08,
and it was worth the wait.
A return to classic fringe (like a best-of mix)
With crossing universes, shapeshifters, the bad guy (david robert jones), the observer.
And we saw almost all the characters return in one episode, however different they are in this timeline.
And what a comeback!
It returned with what should have been the season break finale s04e08,
and it was worth the wait.
A return to classic fringe (like a best-of mix)
With crossing universes, shapeshifters, the bad guy (david robert jones), the observer.
And we saw almost all the characters return in one episode, however different they are in this timeline.
Labels:
tv shows
Deploy Woes
Another all-day-deploy with a list of issues to learn from.
I was mostly in a consulting role for this dev work other than some cleanup, but I should have taken more thorough code reviews.
1. Not commit testing/debug changes, such as removing a needed config or adding a debug dialog
2. Re-releasing during deploy should not happen. This means the new code changes have not been through QA at this point.
3. Make sure all resources are ready to be deployed, to avoid spending hours during the deploy
all day deploy
4. Make sure you have test data needed for proper post-deploy testing (that is not defective/false-positive). For example, an account that fails internally but external users can access the service fine.
Most of this is about preparation, like having the QA dry run be as close to production as possible. And having someone to organize/push for this.
I was mostly in a consulting role for this dev work other than some cleanup, but I should have taken more thorough code reviews.
1. Not commit testing/debug changes, such as removing a needed config or adding a debug dialog
2. Re-releasing during deploy should not happen. This means the new code changes have not been through QA at this point.
3. Make sure all resources are ready to be deployed, to avoid spending hours during the deploy
all day deploy
4. Make sure you have test data needed for proper post-deploy testing (that is not defective/false-positive). For example, an account that fails internally but external users can access the service fine.
Most of this is about preparation, like having the QA dry run be as close to production as possible. And having someone to organize/push for this.
Labels:
dev
Friday, January 6, 2012
Zambie new year
I have a ton to catch up on, as usual, in the months I've been away
Mostly I've been in the coding cave, with my head down, working away
But I was gifted Dead Island over the holidays and I've been playing it a lot
Definitely fun, lots to do and enjoy
Picked up both Killing Floor and Trapped Dead recently, but haven't much on those yet
Besides some Dead Island on New Years, also watched the start of Season 2 of the Walking Dead
I'm sure I'll have plenty more to discuss on it as I get through the season (especially compared to the comic). I was actually surprised when Carl was shot, I completely forgot about that in the comic. Such a good show.
Labels:
gaming,
walking dead
Subscribe to:
Posts (Atom)