Two events coincided for me recently. I was discussing a problem where an application was tanking from time to time, and after WAY too much debugging the problem was due to thread contention.
It only showed up in production.
Worked fine in development.
Why? production was running on a multi-way box.
A few days later I heard Brian Goetz (concurrency expert) talking about the Java memory model, its flaws, and the issues that are going to come out with the new wave of multicore processors.
A lot of Java code is running just fine now AS A SIDE EFFECT. We miss a bit of this, and a bit of another, but it still manages to work. However, in the world of multicore, a lot of these problems will come out of the dark and bite us.
Are you ready for this? We really need tools to come in and help us out.
I have found that a lot of people are using a new cell phone pattern:
Keep someone you don’t like in your phone contacts
This came up when I was with friends, and one of our phones rang. My friend answered, had a conversation which he really wanted to end (it was obvious), and then afterwards quickly put that persons phone number into his contact list.
Another friend wondered why he would put his arch nemesis into his cell phone.
I knew immediately. From now on, this person is going to show up on caller ID, and my friend can safely ignore it!
As I have talked to more people, they often follow this rule. Some variations even include actively getting the persons number from their or via a between friend, allowing you to never even get that first call!
I was on a new Web 2.0 application last nite. The Ajax was flowing nicely through this app, and it was sure pretty.
But then I started to notice some weird behaviour. If I added something it showed up fine on one page, but didn’t show up on another. As I navigated around this world I kept seeing inconsistencies from area to area.
I see this from time to time, and normally it smells like aggressive page caching.
I have nothing against caching at the page level. It makes a LOT of sense for many things, as the closer you get to the user, the less work you are repeating.
However, you always pay a price in this balanced world of performance and scalability. In this case, there is a lot more to keep in sync, and a lot of people ignore that side of the equation.
This is why I really like to have a caching layer for my applications which are further towards the DB than the web page itself. This cache does the hard work of keeping all of the info that I need in sync, but when it does change, the dynamic web pages automatically get that update.
This means that you get a nice balance of all worlds:
- Data is cached closer to the user, yet not too far from the DB
- Access times to this data cache are almost in-memory, and very fast
- You have consistent data showing up on all of your pages
As always, this will depend on what you are doing, and it is a tricky balancing act…. but let’s try to not just turn on page caching and walk around, expecting everything to Just Work ™.
I was chatting with my sis-in-law about a friend who wasn’t allowed to watch He-Man and the Masters of the Universe.
The reason? His parents thought Prince Adam was gay? no. Duh.
There is only one master of the universe (God)
Ahh, makes sense. blasphemous!
There’s nought as queer as folk.
Ben and I had a lot of fun today:
We decided to bite the bullet, and try a new medium. Thus started the fun and games required in getting a Podcast up and running for Ajaxian.com.
Our first opening podcast focuses on:
- Introducing what we want to do with the podcast
- Having Dion and Ben discussing Ajaxian issues
- Going through recent items discussed in the Ajax community, from DWR, to Prototype, to CPAINT, and more
The RSS feed is located at: http://media.ajaxian.com
Our ODEO channel
We are looking for YOUR feedback and participation. Ajaxian.com is a community, and we love your ongoing input.
- What would you like us to cover in the podcast?
- Who would you like us to interview? (we have some exciting interviews in the pipeline)
Thanks for the help, give us a listen!
It was interesting learning how the whole Podcast thing works (and we have more to learn). I had Audacity going, and Ben had GarageBand:
So the feature that I am most excited about today isn’t Google Talk, or the fact that GMail is open but is is a “small” GMail addition.
Now you can send email as a non-gmail address. This is the ONE feature I need in webmail. I don’t want to use email@example.com, I want to use my REAL email address, but use gmail to read and store it.
This is the final piece of the puzzle so I will use gmail a lot more now.
Great job on that Google!
Settings – Accounts – Add another email address
Ergh, when I got the email it came in as:
firstname.lastname@example.org; on behalf of; Dion Almaer [email@example.com]
Patrick Lightbody is talking about WebWork 2.2: JSR168 (Portlet) Support!.
Personally, I think that WW2 is a bit of a sleeping giant. It does a good job at hitting the niche that Rails hits wrt:
- Close to HTML on the view… but your code is not tied to request/session/…
- Simple, simple, simple
- interceptors are nice and clean
- Interesting Ajax support (and a lot more happening)
I hope that people take a fresh look at WebWork 2 and see the elegance, for those who aren’t into the component model.
So, Google Talk is finally here.
After all of the hype and the rumors. I wondered how Google would innovate in the IM arena, with the likes of Skype around.
There are a few nice features such as popping up the messages, simple clean interface, and the fact that it is Jabber based.
But, how come most of the developers I know at Google are Mac guys, yet the Mac is such a poor man wrt Google products. No client?
I know I can use Adium/Trillian etc….
I guess I am not quite seeing the value add yet (apart from having gmail integration ;). Seems a little rushed out?
I do grok that Mac penetration != Windows penetration, and I know that it isn’t that most developers @ Google are Macers (note: ‘who I know’), but I just can’t help thinking of Bob and co. :)
Ever written a Perl application and wished that you could write some PHP in there? Ok, probably not too often…. but now you can!
This came about via Bricolage Now has PHP 5 Templating and how: