Monday, April 12, 2010

All Your Apps Are Belong to Apple: The iPhone Developer Program License Agreement | Electronic Frontier Foundation

UPDATED: All Your Apps Are Belong to Apple: The iPhone Developer Program License Agreement | Electronic Frontier Foundation

Oh boy. Apple have really made me angry. They are forcing this agreement down our throats.

Here is a partial quote:

The entire family of devices built on the iPhone OS (iPhone, iPod Touch, iPad) have been designed to run only software that is approved by Apple—a major shift from the norms of the personal computer market. Software developers who want Apple's approval must first agree to the iPhone Developer Program License Agreement.

So what's in the Agreement? Here are a few troubling highlights:

Ban on Public Statements: As mentioned above, Section 10.4 prohibits developers, including government agencies such as NASA, from making any "public statements" about the terms of the Agreement. This is particularly strange, since the Agreement itself is not "Apple Confidential Information" as defined in Section 10.1. So the terms are not confidential, but developers are contractually forbidden from speaking "publicly" about them.

App Store Only: Section 7.2 makes it clear that any applications developed using Apple's SDK may only be publicly distributed through the App Store, and that Apple can reject an app for any reason, even if it meets all the formal requirements disclosed by Apple. So if you use the SDK and your app is rejected by Apple, you're prohibited from distributing it through competing app stores like Cydia or Rock Your Phone.

Ban on Reverse Engineering: Section 2.6 prohibits any reverse engineering (including the kinds of reverse engineering for interoperability that courts have recognized as a fair use under copyright law), as well as anything that would "enable others" to reverse engineer, the SDK or iPhone OS.

No Tinkering with Any Apple Products: Section 3.2(e) is the "ban on jailbreaking" provision that received some attention when it was introduced last year. Surprisingly, however, it appears to prohibit developers from tinkering with any Apple software or technology, not just the iPhone, or "enabling others to do so." For example, this could mean that iPhone app developers are forbidden from making iPods interoperate with open source software, for example.

...

Kill Your App Any Time: Section 8 makes it clear that Apple can "revoke the digital certificate of any of Your Applications at any time." Steve Jobs has confirmed that Apple can remotely disable apps, even after they have been installed by users. This contract provision would appear to allow that.

We Never Owe You More than Fifty Bucks: Section 14 states that, no matter what, Apple will never be liable to any developer for more than $50 in damages. That's pretty remarkable, considering that Apple holds a developer's reputational and commercial value in its hands—it's not as though the developer can reach its existing customers anywhere else. So if Apple botches an update, accidentally kills your app, or leaks your entire customer list to a competitor, the Agreement tries to cap you at the cost of a nice dinner for one in Cupertino.

Overall, the Agreement is a very one-sided contract, favoring Apple at every turn. That's not unusual where end-user license agreements are concerned (and not all the terms may ultimately be enforceable), but it's a bit of a surprise as applied to the more than 100,000 developers for the iPhone, including many large public companies. How can Apple get away with it? Because it is the sole gateway to the more than 40 million iPhones that have been sold. In other words, it's only because Apple still "owns" the customer, long after each iPhone (and soon, iPad) is sold, that it is able to push these contractual terms on the entire universe of software developers for the platform.

In short, no competition among app stores means no competition for the license terms that apply to iPhone developers.

Thursday, April 01, 2010

Oracle purchases Apache foundation

The Apache Software Foundation Receives Approval for Sale to Oracle Corporation for $US1.5Billion.

Tsk tsk tsk.

Apparantly Oracle will change the Apache Software Licence (ASL) to the Apache Full and Open Oracle License (AFOOL) :-)

Wednesday, March 24, 2010

David Siegel discusses the Power of Pull; a different view of the Semantic Web? | The Semantic Web| ZDNet.com

David Siegel discusses the Power of Pull; a different view of the Semantic Web? | The Semantic Web| ZDNet.com

Siegel wrote books such as Futurize Your Enterprise and Creating Killer Websites (both impressive books, though at a view from 10000 feet).


In his new book "Pull: The Power of the Semantic Web to Transform Your Business" he suggests that using Semantic Web (though not just W3c technologies such as OWLS, RDF SPARCQL) can be the savior for web enabled businesses (and those who aren't :-)
What IS interesting is that Google are in an indirect way doing this - "PULLing" past information to make interesting deductions for the present. It's sometimes spooky how their data mining algorithms work - check the advertisements displayed from gmail.

Friday, March 19, 2010

motorola milestone - finally rooted

not in a bad sense, rather I managed to get my phone updated to Android 2.01
(since I have a british milestone from expansys.com.au, it gets its update from europe motorola via the internet),
Menu -> Settings -> System Updates ... & it runs for while....

When complete, you can now root.
Follow instructions from http://news.lehsys.com/?p=7537
1. download http://rapidshare.de/files/49019165/milestone_root.zip and rename to /sdcard/update.zip
2. switch off phone
3. hold camera button. Then power on.
4. When you get the triangle screen, release the power & camera button
5. Now tricky bit: Press Volume+ button & camera simultaneously. I had to attempt this about 10 times to get it to work
6. Now you get a list of options - Open the keyboard, use the navigation pad to select "Update from SD card."
7. Use the centre pad key to select - what ever you do, don't choose the "Format SD card" or "Hard Reset" options!!
8. You should see an updating screen - this may have an error message, but as long as you see the message "Rooting phone" (or similar :-), it has worked
9. Reboot the phone
10. Assuming it all booted up & you get your normal phone scree, start a Terminal emulator (I used ConnectBot or "Android Terminal Emulator (Jack Palevich)" from the Android Market, others use "Terminal Emulator"  but this gives me the dreaded Force Close message)
11. Type su  to get root access!!! ps: Android throws up a big screen "The following application has requested Superuser access to the phone". Select Yes.
ps: sometimes su hangs. I have to restart the terminal emulator to get it working again.

now for linux tools for android: http://android.modaco.com/content/htc-hero-hero-modaco-com/299984/linux-tools-coming-to-mcr/ & http://alldroid.org/threads/16201-HOW-TO-Root-Extras-Telus-Motorola-Milestone

Wednesday, March 10, 2010

Axis2: Why bother?

The BileBlog - Axis2: Why bother?

Bit harsh but very true - axis2 is not really a usable system. Sun's metro stack is way better. Just trying to get axis2's wsdl2java working resulted in me breaking a tooth in anger.

What get's my goat about Eclipse is it's linkages to Apache - the Web Tools Project webservices stuff deals only with Axis and it's ilk.
Oh yeah, there is a new Apache CXF interface which at least implements a marginally better product. But just check out the predic8 blog entry: http://www.predic8.com/axis2-cxf-jax-ws-comparison.htm
I'll quote it here for your reference:

WS-* Standards

The support of the WS-Standard family can also be decisive for the selection of a SOAP engine. For example, messages sent to services can be secured with signatures as described in the Web Service Security standard (in short WSS). Table 1 shows the support for WS*-Standards of the toolkits.
Standards Axis2 CXF JAX-WS/Metro
WS-Addressing X X X
WS-Coordination X(2)
X
WS-MetadataExchange

X
WS-Policy X X X
WS-ReliableMessaging X(3) X X
Web Services Security X(1) X(4) X
WS-SecureConversation X(1)
X
WS-SecurityPolicy

X
WS-Transaction X(2)
X
WS-Trust X
X
WS-Federation


Table 1: Support for WS-* Standards (stand: Juli 2008)
(1) Supported by the additional module Apache Rampart
(2) Supported by the additional module Apache Kandula2
(3) Supported by the additional module Apache Sandesha2
(4) By Apache WSS4J Interceptor
Who just wants to code against the standard is well advised with the JAX-WS implementation. The enterprise pack of the Netbeans development environment supports JAX-WS RI very well. Only a few clicks are needed to build a server or to call a Web Service

Another post is: http://www.arobs.com/innovationtech/tag/axis2-vs-cxf-vs-metro/ ps: this seems to be mostly a cut and paste from Thomas's blog... mmm ggrr.
And also: http://srikanthnukala.net/devblog/2009/06/29/axis2-vs-jax-ws-vs-apache-cxf-vc-spring-ws/

My problem is that Eclipse only supports the Apache products with the web services client generator.
Bugger them.

Tuesday, March 09, 2010

Oscars for former UTS students

From an internal email"

Congratulations to the following computer graphics students:

Glenn Sharah, who is credited on Avatar as a Shader Writer. Avatar won the
Academy Award for best visual effects.

Andre Mazzone, who is credited on Star Trek as a Research and Development
Programmer. Star Trek was nominated for best visual effects.

This is not the first time that these people have been up.

How many gadgets?


How many gadgets?
Originally uploaded by wongcr
How many mobile gadgets did these boys have?
Mark only had 2.
I had 2.
But I also have about another 4 hanging around in various places.
Sigh.

Thursday, February 25, 2010

How Plastic Bottles Are Poisoning Babies | newmatilda.com

Now I understand why Kathmandu are claiming their new water bottles are BPA free...

How Plastic Bottles Are Poisoning Babies | newmatilda.com

Thursday, February 18, 2010

Multivitamin Comparison - From Empty Air to Massively Boosting Health

Multivitamin Comparison - From Empty Air to Massively Boosting Health

Good Grief, it seems that Berocca Performance (3%) is just lolly water.

Of all things, Amway Nutriway is 27% and GNC Livewell is 26%.

Wednesday, February 17, 2010

"Epitaph on an Army of Mercenaries" by A.E. Housman

(ending track from the 1980 movie "The Dogs of War", sung by Gillian McPherson)


Epitaph on an Army of Mercenaries

These, in the day when heaven was falling,

The hour when earth's foundations fled,

Followed their mercenary calling,

And took their wages, and are dead.

Their shoulders held the sky suspended;

They stood, and earth's foundations stay;

What God abandoned, these defended,

And saved the sum of things for pay.

A.E. Housman


Tuesday, February 09, 2010

BRW tries to stop copying of it's content

BRW is using a new trick to stop the likes of google and traditional cut and paste:
Bots, bugs and bellyaches

They use stylesheets to mix up the letters! So if you look at the source code, you see junk:

Y u n w h t l a a e b u b i d n a e t r o s

instead of

You know that old adage about building a better mouse

In fact, the actual source code looks like this:
Y u  n w  h t  l  a a e  b u 
b i d n  a  e t r  o s  t a 
l a i g  o  h  i v n i n  f  
b t e  m u e?  t  a  a  w l 
h v  b e  w i t n  o  c m u e s
 n  c m u e  v r s s,  h c  b g n
 s  o u  p o r m i g  l t h s
 p e d  i  C  a d  a e  o p e 
a o g  i h  h  t c n l g  t  u e
 u t  b u  e e y  e n  i a i a l 
t  t a s i  t e s l e  f o 
u s s e t n  e d  s r  o  n u p c i g  n  u e .

Thursday, December 24, 2009

Monday, December 21, 2009

iphone/ipod touch location services

Well... it seems that Apple use Skyhook to do more accurate location based services than I expected.
I always thought the iPhone 3G simply used A-GPS and cell triangulation to determine your position - yet it was wildly accurate INSIDE my office....
turns out they use Wireless Location services - Skyhook have a massive database (using wardriving) of all the MAC addresses of wifi access points, and use this to determine your geographical location (in combination with GPS, A-GPS and cell triangulation),
heck, they even pay drivers to wardrive around the world.

Coverage is mostly densely urban europe, north america, australia and some asia (tokyo-osaka, HK, taipei, seoul, bangkok, beijing).

Monday, November 09, 2009

j2moose - how to reverse engineer j2ee

Saw this interesting research project:
Enabling the evolution of J2EE applications through reverse engineering and quality assurance


To quote:
To address the complexity of enterprise applications, J2EE offers a conglomerate of several technologies, (e.g. Enterprise Java Beans - EJB or Java Server Pages - JSP) using several languages, (e.g. Java, XML or SQL). In this context, simply applying existing reverse engineering and quality assurance techniques developed for object-oriented systems fails due to two major reasons:

analyzing only the Java source code overlooks the information written in other languages such as the XML configurations, the JSP files, the database structure or the SQL statements, and
even when analyzing the Java source code we need to consider the technology specific patterns (e.g. implementing specific interfaces).
This project aims to conduct a systematic study in reverse engineering and quality assurance of J2EE applications. In particular, we target the following questions each of them being addressed in a separate track:

How do we model J2EE to support analysis of the different languages?
What defines internal quality in J2EE applications and how do we measure it?
How do we visualize the diversity of languages to support understanding of J2EE applications?


Doc: http://scg.unibe.ch/archive/projects/Gurt06aJSP.pdf
Master: http://moose.unibe.ch/about
Description: http://scg.unibe.ch/research/hasler07

The implications for me: I want something to do automated marking for J2EE assignments. Basically a first pass would reverse engineer the submitted code, decide/visualise the model with certain matrices and then award a technical mark.
Humans (tutors) would then mark the assignment for completeness, correctness and qualitative measures such as "ease of use", "look and feel", "niceness" :-)

Friday, October 23, 2009

weblogic weirdness with @webservice @stateless beans

Weblogic 10.3 has a weird bug.
If you annotate a Stateless session bean, then add @WebService to it, it won't deploy and will give a strange message about xxxbean_xxx_WSOImpl.class not found.

Turns out that there is an SERVER side cache in your domain directory which confuses the EJB compiler and deploy tool
Remove the entire contents of $DOMAIN/servers/AdminServer/cache/EJBCompilerCache/*
(where $DOMAIN is your weblogic domain directory)


Oh, you also need to give your stateless bean a mappedName eg:
@Stateless(name="crapBean", mappedName="ejb/crapBean")

Friday, October 16, 2009

AMIS Technology blog � Blog Archive � EJB Dependency Injection of Session Bean Facade in JSF 1.2 on WebLogic 10.3 (JSF with JPA)

AMIS Technology blog � Blog Archive � EJB Dependency Injection of Session Bean Facade in JSF 1.2 on WebLogic 10.3 (JSF with JPA)

Also ork around for the issue of not being able to dependency inject Session Bean directly into JSF Managed Beans http://softquipeut.blogspot.com/2007/12/injection-dun-ejb-dans-un-back-bean-jsf.html

Tuesday, September 22, 2009