Monday, April 14, 2008

SPAM war deepens - am I winning?

Today I woke up to check my email and found that my email address had once again been used to spoof the "send" for buckets of SPAM.  This is due to my open advocacy of finding and physically bestowing great pain upon those parasitic individuals who plague the rest of humanity with SPAM.  The picture below shows my inbox:


This has not resulted in one single person complaining to me which is great. It means that the average recipient has enough intelligence to understand that the true spammer is using the email addresses of those who fight spam as the "sent from" address.

So what can we do now?  I am working with a few agencies worldwide to find this particular culprit.  The Chinese government is very hard on those who break laws and will likely severely punish any Chinese citizen for this.  The Russians are less accommodating however I have heard that you can easily hire "third parties" to take care of business in that country.


Friday, April 11, 2008

Distributing the AIR Runtime

Today I read a great post from Mike Chambers on how third party development shops can distribute the Adobe AIR runtime. Mike's full article can be read here. Here is an excerpt:

In order to re-distribute the Adobe AIR installer, you must first apply for, and receive permission from Adobe to redistribute it (this requires accepting a license, and submitting a form). Once you do this, you can get all of the documentation for how to distribute the runtime and integrate it with your custom installer.

We have a ton of information on this on the website (including a FAQ).

In general, the license allows you to:

* distribute the runtime installer on a closed intranet
* distribute the runtime installer on fixed media, such as CD or DVD Roms.
* distribute and launch the runtime installer as part of another native installer

In general, the license does not allow you to:

* modify the installer, or files to allow AIR application to run without having the runtime installed on the user’s system.
* distribute DLL’s or other files from the runtime directly within an application

So why is this such an important issue? Simple - it is about the entire community ensuring the end users have a good experience. While there are strong technical reasons (read the FAQ) for getting Adobe permission, consider what would happen if we had rogue companies randomly distributing modified versions of the AIR runtime without some form of central methodology and management. It could be somewhat chaotic but more importantly, for the good of the overall community, we need to all work together to cater to the end users to deliver a positive experience. This latter point cannot be emphasized enough.

While most development shops will likely just use the "get AIR" badge and rely on Adobe to incur the bandwidth costs for distribution (similar to how Sun distributes the Java Runtime Environment), you may apply for the Adobe AIR Runtime Distribution License Agreement if you have a good reason to want to distribute it yourself. Both are valid options and each company must chose the option that works best for them. Anyone can apply for that license here.

Note: Installing the Adobe AIR Runtime silently, deploying via SMS or Group Policy Objects is currently not a supported option. If you require installing the runtime silently please send an email to license-air-silent@adobe.com so that we can notify you when that feature becomes available.






Some useful online security advice

Last week I spoke at the Massive Tech show on a security panel. During the talk, I quickly realized how far in the dark many consumers are as to the dangers of online behavior. Many people, via sheer ignorance, expose themselves to unnecessary risks. The following are some quick tips I want to share to help raise awareness.

1. Always log out. When you log into an online application (such as your online banking or brokerage account), a session is created. If you simply close the browser without logging out, the session may remain open for a short time leaving it vulnerable to replay style attacks. In these types of attacks, someone could send a request or hit the back button on your own browser and be able to access your account as if they were you. Closing the session properly by logging out removes a huge amount of risk.

2. Use at least 3 different passwords for all your online activities. I use 3 - one for low value logins (such as a user group), one for medium risk and one password for high risk, high value applications such as online banking, paypal and our corporate network. NEVER use your highest value password for low risk accounts. It is very conceivable that someone could socially engineer an attack against you by finding out your interest and sending you an offer you cannot refuse (free iPod Touch with each new account on "someAttractiveWebsite.com"). A clever webmaster and hacker could spoof a password text field and trick you into providing your high value password for some offer when you set up a new account. USE MORE THAN ONE PASSWORD!!!

3. Be very suspicious of emails at work asking you to log in to a remote site to do something work related using your intranet credentials. I recently got an email purporting to be from our legal department telling me that I had to take some training to comply with US laws and to use my normal credentials. The URL was a remote site. While this one was real, this could have very easily been a trick (spoofed email, fake site) to compromise my corporate credentials.

4. ALWAYS check the certificate of a site and that HTTPS is working properly. Most newer browsers have technology to help alert unsuspecting consumers of fraud however it is still possible that a CRL has not yet picked up an expired certificate or the webmasters themselves have made mistakes with secure and non-secure items on the same page.

5. Set your email to not automatically download pictures from HTML email. This is an attack that a person can use to get your IP address. If you load up the HTML email and any referenced image, a trickster could easily send you an email with a unique file name and use the incoming HTTP Request envelope to get your actual IP Address. Being behind a firewall helps.

6. When logging in to high value sites, type the URL manually. Some clever tricksters have used the International Domain Name (IDN) support in Konqueror 3.2.1 on KDE 3.2.1, which allows remote attackers to spoof domain names using punycode encoded domain names that are decoded in URLs and SSL certificates in a way that uses homograph characters from other character sets, which facilitates phishing attacks. These are very hard to detect unless you know exactly what to look for.

7. DO NOT BUY PIRATED SOFTWARE ONLINE! The email ads you get advertising "special web deals" on top software brands are 100% pure fiction. If you try to buy the software, you will accomplish nothing other than giving a criminal your credit card information. Think about it - the criminals are already breaking the law by selling pirated software. Why would they comply and give you software? All they do is capture your Credit Card information leaving you wondering when your download key is coming. By the time you wise up, they have compromised your credit card. These types of attacks are often not reported as the victims themselves are often reluctant to make statements they broke the law. This can lead to further confidence tricks such as.....

8. Do not answer questions on the phone. Here is a scam that is difficult to detect. You get a call from your "credit card company". They ask you if you are the owner of credit card # and ask you to confirm. Since they already have given you your own card number, you might be satisfied that they are the bank (after all - who else would call you and be able to give you your own CC number). They ask you if it has the same expiry date as your real expiry date. Then they tell you that your card has some suspicious activity on it and they are monitoring it and want to capture the thief in the act. At this point, you are 100% convinced they are the bank but what they are really after you will give to them willingly. The next thing they do is state that they need to verify you are in fact in possession of your card. They tell you that they need the three digit special ID number on the back of the card. If you do not suspect anything, you read it back to them.

What to do? When someone calls you telling you they are your bank or some other organization of trust, tell them you'd like to call them back to validate this. If it really is your bank calling, they will probably appreciated your vigilance. If they balk, it is probably not your bank.

9. If a deal is too good to be true it is. This rule is so old and should be the guiding principle for every person. New cons are being thought up every day. Confidence games, ID gambits and other tricks are invented to take something from you. Even if a company is borderline legitimate, ask yourself "why?". Why will someone give me a free iPod for simply looking at online ads?

10. Share your experiences. If you do get conned, tell others to save them from the same fate.

I hope this helps at least one person. If anyone reading this has any others to add, please drop a comment below to help spread the word.

Wednesday, April 02, 2008

JavaScript vs. ActionScript

Today on the Google LiveCycle Developers list, a message came across which requires some additional clarification. The message claimed the following:

Hello all,
I don't know if this has been discussed before but thought I'd bring
it up. The JavaScript in LiveCycle isn't ECMA script it's actually
Action script like with Flash.
While the claim is errant, it does deserve some attention to discuss the differences. LiveCycle ES itself is a server product and is Java. If referring to
the LiveCycle clients, there are two main types of clients that can be used
with LiveCycle, although there are no limits as LiveCycle ES is a service bus which facilitates the consumption of services and does not constrain clients use of the services in true SOA manner (note: any service policies still must be observed). The two most common types of clients are Flex/AIR clients and Acrobat/Reader.

Acrobat and Reader implement a virtual machine based on JavaScript version
1.5 of ISO-16262 (formerly known as ECMAScript), JavaScript in Adobe®
Acrobat® software implements objects, methods, and properties that enable
you to manipulate PDF files, produce database-driven PDF files, modify the
appearance of PDF files, and much more. You can tie Acrobat JavaScript code
to a specific PDF document, a page, field, or button within that document,
or a field or button within the PDF file, and even to a user action as you
an with HTML pages. This is fully documented in the supporting
documentation. See:
http://www.adobe.com/devnet/acrobat/pdfs/AcroJSGuide.pdf

Flex and AIR applications are in fact compiled into SWF's (commonly known as
Flash). These do implement the Actionscript Virtual Machine based on
ECMAScript. The current version was added in Flash Player 9 as ActionScript
3.0 with the advent of a new virtual machine, called AVM2 (ActionScript
Virtual Machine 2), which coexists with the previous AVM1 needed to support
legacy content. Although a bit different, it is very close to being ECMA
262 compliant.

ActionScript is run inside the Tamarin Virtual Machine. It is a just in time compiler intended to implement the fourth edition of the ECMAScript standard, commonly referred to as JavaScript 2. Tamarin was initially developed by Adobe Systems for its ActionScript Virtual Machine (AVM) used in Flash. The code was donated to the Mozilla project on November 7, 2006. The contributed code is tri-licensed under the GPL, LGPL, and MPL and will continue to be developed in Mozilla CVS, as the rest of Mozilla source code.

The contributed code is approximately 135,000 lines of code making it the largest single donation of code to Mozilla project besides Netscape itself. Tamarin will be included in future builds of Mozilla and by default, FireFox. There is a separate project to integrate Tamarin and SpiderMonkey is called ActionMonkey. Tamarin will also continue to be used in the future versions of Flash.

Adobe wrote LiveCycle before acquiring/merging with Macromedia, there was
no ActionScript support in any product to my knowledge.

Tuesday, April 01, 2008

LiveCycle 8.2 Pre-release program

For cutting edge LiveCycle developers, Adobe is inviting a select group to test the latest build (8.2) prior to the official release. You can register here:

http://www.adobe.com/devnet/livecycle/

Here are the new features:
  • Improved development and authoring tools, including process record and playback, and validation of process definitions
  • Improved end-user experience including 508-Compliance, single sign-on support, and many LiveCycle Designer enhancements
  • Improved process management tools such as business calendars, out-of-office support, and customized e-mail notifications
  • Improved installation with two turnkey options (JBOSS and WebLogic) as well as command-line installation
  • Improved administration and platform maturity with improved backup and recovery support (hot backup), expanded platform, database, and JVM support
  • Improved Web Service support within XFA-based forms
  • PDF/A Support

Greg Wilson has posted a great introductory video here.

Monday, March 31, 2008

Adobe MAX 2008 Call for speakers

Adobe has launched a call for speakers and topics for MAX 2008. You can submit here:

https://adobemax.dabbledb.com/page/callforsessions/NLXYueHm

Adobe is seeking to have top quality, cutting edge presentations submitted for MAX 2008 in North America, Europe, and Japan. Adobe MAX 2008 dates are as follows:

MAX 2008 North America
San Francisco, California
November 16-19, 2008

MAX 2008 Europe
Milan, Italy
Dec 1-4, 2008

MAX 2008 Asia
Tokyo, Japan
TBA - 2009

Remember - MAX 2007 sold out. Remember to check back here for early bird registration. Also - if you are interested in sponsoring MAX in 2008, please go here. There are limited opportunities available. Likewise, the MAX 2008 mailing list can be subscribed to here.

Tuesday, March 25, 2008

Arc90 Lab : The RESTService Flex Library

This just in. The folks at Arc90 Lab have created a Flex REST service AS3 (ActionScript 3) library. I haven't downloaded it yet but be assured I will. You can get it here.

Basement.org states:

"We're also big fans of Adobe's Flash and Flex platforms. Unfortunately, AS3 isn't exactly REST-friendly out of the box. There's some HTTP support, but we needed more robust support for REST. To remedy this, we've built our own AS3 library: RESTService. It's a "class that makes fully aware HTTP service calls. Fault and Result events contain all response headers and status messages, as well as the response body." It even supports HTTPS by leveraging the AS3 Crypto Framework"

Monday, March 24, 2008

Adobe Flash Lite Shipments Pass Half Billion Mark

According to SDA Times, Adobe's Flash Lite mobile shipments have surpassed the half billion mark. This means over 500,000,000 devices worldwide from manufacturer's including LG, Motorola, Nokia, Samsung and Sony Ericsson have now been shipped carrying the mobile version on Flash. Adobe’s Flash Lite Player runtime specifically designed for mobile devices. According to Adobe, Flash Lite has seen over 150 % growth over the last year.

Wednesday, March 19, 2008

Flex Builder Free for Education!

Adobe recently expanded the free Flex Builder offering for Education. The information below describes the details.  If you're a student or staff at an education facility, get this offer!!

The offer:

Effective March 3, 2008 all education customers, including staff, faculty and students can now download Flex Builder 3 Professional for free. This offer is for download-only product and requires a valid serial number to activate the trial version of Flex Builder. Education customers will need to register to receive their free Flex Builder serial number at www.flexregistration.com . All applications will be processed within one week. This registration site and serial number distribution is managed by a third party vendor for Adobe.

Eligibility

All education customers are eligible for free pricing. WOOT!!

Customer Service

If you don't receive a serial within one week of  submission, contact customer service by emailing info@flexregistration.com

Monday, March 17, 2008

What you need to know about SPAM

I am not sure if this is a badge of honor to be worn or not, but it appears that one or more of the spammers I have been threatening have been busy spoofing my name as the "sent from" field in their latest spam campaigns. Needless to say, if you have received a message purporting to be from me which is spam, I can assure you I did not send it. Expand the headers and read and you will see this is true. Yours truly has been targeted by spammers, likely as retribution for my actions against the spammers.

I hate spammers. I will hunt them down and punish them whenever possible. They are responsible for more lost time (including writing this blog article) and more waste of network traffic than any other form of life on the planet.

Spammers are the lowest form of life on our planet to boot. Most of them are only the second generation in their bloodline to walk upright and have relatives who still live in trees.

Spammers - too bad you are too chicken to stand in front of me and tell me you are a spammer. You'd find out very fast that some of the advantages of NOT spamming include never having to use the phrase "I have no teeth left".  OK - I am not advocating vigilante justice, but I like to fantasize.

Until then my fellow brethren, keep fighting against spammers. Together we can eliminate this menace from our society. Some points of interest:

1. Know what the anti spam laws are in your country. Keep a record and find out if you can pursue these idiots financially.

2. If your country does not have laws, start some or get involved in the process.

3. Contact companies that are the source of spam and threaten them. Tell them you will NEVER do business with them. Report them to the authorities in their country and tell them what their actions have done to tarnish that nations image. Set up an "advertising" contract such as the one on the comments page for this blog and send them invoices threatening to sue if you don't get paid. Take legal action and garnish the money owed to the spammer.

4.Do whatever you can to make their lives miserable. I have sent several messages to the central Chinese Ministry telling them about Sunjun (see bottom of comments here), one spammer Falun Gong activities. This is highly illegal in China and some have even been put to death for this. This sounds drastic however these people hurt the entire world. We all make less money as a result of their actions which in turn hurts people in developing and transitioning economies. If words like "Nigeria" get stripped as spam, how the heck can people in that country who are trying to use the internet to develop their economies able to survive? It hurts us all. Note that according to State Department reports, people who have responded to “pay in advance ” solicitations have been beaten, subjected to threats and extortion, and in some cases, murdered.

5. If you know a spammer, make them stop. Let them know exactly what you think of them and how others will react. There is a small percentage of spam that appears to be generated by otherwise well meaning people who are just unfamiliar with internet etiquette.

6. If the spam is illegal, report it to the authorities. For example, child pornography, Nigerian Scams, illegal ripped software can all be reported. Most software companies have an anti piracy team (Adobe's is piracy@adobe.com). If it is a phishing scheme or other illegal scheme, report it to the government. The USA has several places set up to handle this including the FBI, the Federal Trade Commission and others.

7. Specific to Nigerian or 409 scams:

If you receive a letter from Nigeria asking you to send personal or banking information, do not reply in any manner. Send the letter to the U.S. Secret Service, your local FBI office, or the U.S. Postal Inspection Service. You can also register a complaint with the Federal Trade Commission’s Consumer Sentinel.

If you know someone who is corresponding in one of these schemes, encourage that person to contact the FBI or the U.S. Secret Service as soon as possible.

Be skeptical of individuals representing themselves as Nigerian or foreign government officials asking for your help in placing large sums of money in overseas bank accounts.

Do not believe the promise of large sums of money for your cooperation.

Guard your account information carefully.

There is so much more I can write but I am going to spend my time trying to track down the filth who used my email address to spoof spams this weekend. I will find him and punish him.

8. If the deal is too good to be true, it isn't true! You may think you are buying a discount copy of Windows Vista or Adobe Photoshop, but you are not. What happens is the criminals who advertise this simply take your personal information and GIVE YOU NOTHING IN RETURN. Think about it. They are already breaking the law. Why would they even bother to send you a link to download the software. Why not just take your personal information and use it to punish you. After all, you cannot report it to authorities if you are involved in perpetuating a crime too (buying bootlegged software is illegal in most countries and punishable by jail time and fines). These spammers simply take your credit card and personal information and sell it or use it to hurt you more.

This post may seem like a bit of a rant, but spammers would not spam if it didn't work. Hunt them down and punish them.

Thursday, March 06, 2008

LiveCycle ES wins Dr. Dobbs award.

LiveCycle Enterprise Suite has been announced as a "Productivity Winner" for the "Enterprise Tools" category
of the Dr. Dobb's 18th Annual Jolt Awards. Winners will be featured in the June issue of Dr. Dobb's Journal.

The full list of winners is published here:
http://www.drdobbs.com/blog/portal/archives/2008/03/jolt_award_winn.html


SOA the real winner?

What is interesting is that this really represents the business value of SOA to the enterprise. While not specifically discussed in terms of SOA and BPM, the Jolt awards really emphasize products that have "jolted" the industry in the past year. LiveCycle Enterprise Suite is a clear choice as it represents the third major evolution of Adobe's enterprise platform. While most people were only "talking" of "registry-repository" back in 2003, Adobe had one in LiveCycle 6.0. While people talked about Service orchestration and aggregation (composition), Adobe LiveCycle 7.0 delivered. While people talked about SOA Governance, LiveCycle BAM (Business Activity Monitoring) delivered the goods again.

Winners of the Jolt awards are selected by judges consisting of industry insiders, columnists, and technology leaders. It does not surprise me that our enterprise suite captured another award and recognition. Adobe has been heavily involved in SOA standards, web services work, and business process management standards for a while.

With that said, if anyone out there wants to give it a go, I have a few LiveCycle ES developer DVDs left. Ping me (dnickull at adobe dot com) with your mailing address and I'll send one out.

Thursday, February 28, 2008

Adobe Reader beta program open to you!

Interested in participating in the Adobe Reader Beta Program? It's the best way to get an early peak at future versions of the product and provide valuable feedback into the development process.

We're accepting participants now. Just CLICK HERE to sign up. Thanks!

Tuesday, February 26, 2008

6 Adobe AIR Apps Worth a Look

Adobe's AIR platform allows developers to create web applications that run on your desktop without the need of a web browser. Now that AIR has dropped the beta tag (see our previous coverage), it's time to look at some of the AIR apps you can use today.

read more | digg story

Adobe joins SQLite! More Open Source/Standards moves!

As reported at http://opensource.adobe.com, Adobe has joined with Mozilla and Symbian to support the work of the SQLite Consortium to help ensure free, open access and development of SQLite. Adobe uses SQLite within many of its products and recognizes the importance of providing support for technology and tools that are open source because of its value to the entire developer and software communities.

This follows on the heels of a rash of Open Source and Open Standards initiatives by the software company in the last few years. Adobe donated the PDF standard to ISO which is now ISO standard 32000. Adobe has open-sourced the core Flex SDK and Blaze Data Services under various GNU based licenses. It was less than 24 months ago when we also donated core Actionscript Virtual Machine code to the Mozilla Tamarin project. We have also pledged to contribute back to the Webkit HTMl engine project when we work on that code base.

All of this makes me proud to work for a company that understand the importance of the software community.




Important notes about Adobe AIR

Yesterday, Adobe officially launched version 1.0 of the Adobe Integrated Runtime or AIR. As anticipated, the press have given it justice however there are a few facts that need to be illustrated to help developers who want to give it a try.

What I encourage developers to do.


Download both the latest version of Adobe AIR and the latest version of Flex Builder from Adobe labs to ensure you are up to date.


Why AIR code samples might not work.

All AIR applications use a descriptor XML file to describe the application and link resources. During the last few beta drops of AIR, the schema for this file changed a bit. If you try to build someone's code samples with a newer version, the project might not actually build. In fact, the observed behavior is that nothing happens.

What can you do?

To mitigate this, in Flex Builder (available for free trial 60 day download on Adobe labs), simply set up a new project by clicking "File -> New -> Flex Project". To make an AIR project, make sure you select the correct type of project by selecting the AIR option in the second screen. Make sure you are on the latest builds.

Open up the source code of the project you want to try in an ordinary text editor and cut and paste the code into your MXML base document for the project. Be sure not to write over the top level XML element until you are sure that the project is using the same namespace value and root element consistent with your version of Flex Builder. Pay close attention to the root element. In most up to date (1.0) AIR applications, it should look like this:


<mx:windowedapplication mx="http://www.adobe.com/2006/mxml" layout="absolute" applicationcomplete="init()" backgroundcolor="0x003030" focusrect="false">
<mx:script>
</mx:script>
</mx:windowedapplication>

Once this is done, try saving your project and eliminate any duplicate root elements etc until all errors go away.

Note: for pure AS3, HTML and other projects the process is a bit more complicated. Consult the documentation.

Alternatively:

If the project you want to install is a zip archive, try importing it by using the "File -> Import -> Flex Project". This should allow you to import the project and FB3 should correct.

Friday, February 15, 2008

Thursday, February 14, 2008

Flash on the iPhone?

As reported by the Alley Insider, Flash is coming to the iPhone. An article posted today reads:

"More than half a year after its launch, Apple's iPhone is set to get an app it should have had from the beginning: Adobe's Flash plug-in." You can read the whole article here:

http://www.alleyinsider.com/2008/2/adobe_flash_coming_soon_to_apple_iphones

Gearbox also reports the same but I am skeptical having not seen either Apple nor Adobe issue any statement. The rumor buzzmill is running at half capacity. Once again, we have to wait and see if there is any truth behind it.

Tuesday, February 12, 2008

Flex, AIR samples migrating to Adobe Flex Cookbook

I have decided to move many of my Flex and AIR recipes from the Flex Cookbook to the official Adobe Flex cookbook site. The first two are posted there now. If there is interest (comments, users) I'll post the rest over the next few weeks. You may also request the cookbook as a standalone document commented with instructions by emailing dnickull at adobe dot com.

1. Building an Apple shaped, chrome-less application as per the photo below. This application has been updated from previous versions to be compatible with the latest build of Adobe Flex Builder 3, beta 3.
2. Simple Demonstration of Binding to a Camera using flash.media.Camera. This sample is all about quickly binding to a camera stream and displaying the video image on your application using an object. Screenshot below.

Coolest Flash site ever?

Ben Forta sent me this link. The use of Flash is really cool.

http://producten.hema.nl/

Monday, February 11, 2008

Yahoo! Maps — Releases the AS3 API

The new Yahoo! Maps API is now entirely built in ActionScript 3.0. The Maps API now gives you an incredibly powerful map engine and the ability to create custom components, overlays and markers while consuming different webservices provided by Yahoo!, or your own. Flash/Flex your heart out!

read more | digg story