Feed aggregator
Starting on a Sakai Book
Dr. Chuck: Starting on a Sakai Book
iPhone/Droid Sales Comparison Misleading
A number of news sources seem to be publishing comparisons between initial sales numbers for the Apple iPhone, Motorola Droid, and Google Nexus One.
- http://www.wired.com/gamelife/2010/03/nexus-one-sales/
- http://blog.flurry.com/bid/31410/Day-74-Sales-Apple-iPhone-vs-Google-Nexus-One-vs-Motorola-Droid
Some quick comparisons are being made trying to compare the DROID & iPhone numbers head on, but I’m surprised not to see any sidebars noting that the original iPhone launched at 499/599 – whereas the DROID has been fully subsidized from the get go.
Jason Shao: iPhone/Droid Sales Comparison Misleading
A number of news sources seem to be publishing comparisons between initial sales numbers for the Apple iPhone, Motorola Droid, and Google Nexus One.
- http://www.wired.com/gamelife/2010/03/nexus-one-sales/
- http://blog.flurry.com/bid/31410/Day-74-Sales-Apple-iPhone-vs-Google-Nexus-One-vs-Motorola-Droid
Some quick comparisons are being made trying to compare the DROID & iPhone numbers head on, but I’m surprised not to see any sidebars noting that the original iPhone launched at 499/599 – whereas the DROID has been fully subsidized from the get go.
Path Matters
Chris Coppola: Path Matters
It’s Official: The Sakai Foundation is Hiring a New Executive Director
The job description is here. If you are thinking about applying and have questions, feel free to ping me.
Related posts:
- How to Understand and Follow the Sakai Foundation
- A Brief Word about the Mellon Foundation and Sakai
- I’ve Been Elected to the Sakai Foundation Board of Directors
© michael.feldstein for e-Literate, 2010. |
Permalink |
No comment |
Add to
del.icio.us
Post tags: Sakai, Sakai Foundation
Michael Feldstein: It’s Official: The Sakai Foundation is Hiring a New Executive Director
The job description is here. If you are thinking about applying and have questions, feel free to ping me.
Related posts:
- How to Understand and Follow the Sakai Foundation
- A Brief Word about the Mellon Foundation and Sakai
- I’ve Been Elected to the Sakai Foundation Board of Directors
© michael.feldstein for e-Literate, 2010. |
Permalink |
No comment |
Add to
del.icio.us
Post tags: Sakai, Sakai Foundation
Introduction to Sakai
Spring wiring private init-method
While adding some unit tests to older Spring code, I noticed that the production Spring configuration was wiring together some pretty simple Factory objects that had private init() methods (took a few minutes to figure out why I kept getting wavy lines), that looked like this:
12
3
4
5
6
7
8
9
10
11
12
13
14
private void init(){
try {
StringBuilder sb = new StringBuilder();
for(String server : servers){
sb.append(server.trim());
sb.append(BLANK_SPACE_DELIMITER);
}
memCacheClient = new MemcachedClient(AddrUtil.getAddresses(sb.toString()));
} catch (IOException e) {
log.error("Unable to Connect to memCache " ,e);
throw new RuntimeException("Unable to Connect to memCache " , e);
}
}
It turns out that AbstractAutowireCapableBeanFactory does a bit of reflection when processing ‘init-method’ to allow it to invoke private methods (assuming you don’t have any SecurityMangers running, which you probably don’t)
12
3
4
ReflectionUtils.makeAccessible(initMethod);
try {
initMethod.invoke(bean, (Object[]) null);
}
So… magic…
Jason Shao: Spring wiring private init-method
While adding some unit tests to older Spring code, I noticed that the production Spring configuration was wiring together some pretty simple Factory objects that had private init() methods (took a few minutes to figure out why I kept getting wavy lines), that looked like this:
12
3
4
5
6
7
8
9
10
11
12
13
14
private void init(){
try {
StringBuilder sb = new StringBuilder();
for(String server : servers){
sb.append(server.trim());
sb.append(BLANK_SPACE_DELIMITER);
}
memCacheClient = new MemcachedClient(AddrUtil.getAddresses(sb.toString()));
} catch (IOException e) {
log.error("Unable to Connect to memCache " ,e);
throw new RuntimeException("Unable to Connect to memCache " , e);
}
}
It turns out that AbstractAutowireCapableBeanFactory does a bit of reflection when processing ‘init-method’ to allow it to invoke private methods (assuming you don’t have any SecurityMangers running, which you probably don’t)
12
3
4
ReflectionUtils.makeAccessible(initMethod);
try {
initMethod.invoke(bean, (Object[]) null);
}
So… magic…