Blog

  • July 28, 2009

    The Internet is Broken: ISC BIND 9 experiencing Denial-of-Service attacks

    Why can’t I access so many sites this week?
    On July 28, 2009, the Internet Systems Consortium (ISC) and the United States Computer Emergency Readiness Team (USCERT) released a warning about a problem with the software that runs a large number of Domain Name System (DNS) servers on the Internet.  This weakness allows a person to remotely attack and take control of a DNS server.  By sending a specially crafted ‘packet,’ or piece of information, to the DNS server, a person can launch something called a Denial-of-Service (DoS) attack. 

    A DoS attack is an attempt to make a resource, such as a server, unavailable for use by other users connected to that resource.  When directed against a DNS server, the DoS attack has the potential to knock out Internet service to a large amount of the population.

    Internet Service Providers, or ISPs, have been notified by the ISC and USCERT and are currently working to fix this problem.  More information about this exploit can be found at the following links:

    http://www.cio.com/article/498528/CERT_and_ISC_Warn_About_BIND_DNS_Vulnerability

    http://www.kb.cert.org/vuls/id/725188

    What is DNS?
    DNS is the abbreviation for the Domain Name System.  It determines how domain names (i.e. www.google.com) are translated into IP addresses (in the example of Google, 74.125.45.100).  It acts like the main post office for an area.

    When you access the internet, you type in something called a Uniform Resource Locator, or URL.  Part of this URL is the domain.  DNS helps to turn that domain, usually a human-readable word of some kind, into a number called an IP (Internet Protocol) address.  The IP address is the actual location of the computer on the Internet.  If there is a problem with DNS, then the domain is not correctly paired with an IP, and you can’t access your site.
    More information about DNS can be found here: http://en.wikipedia.org/wiki/Domain_Name_System

    What does this mean for me?
    Right now, there is nothing that you or BlueSwarm can do until the vulnerability is patched.  This is the responsibility of the ISPs and main ‘backbone’ providers for the Internet to fix, and they are working quickly to do so.  While they are working on the problem, DNS changes related to this problem may cause issues for some users.

    Is my computer or any of the data inside BlueSwarm at risk?
    Not at all. All of your information is completely safe from this exploit. All this exploit may do is prevent you from accessing data - it cannot manipulate it.

    But can I do anything?
    If you find that you are having problems accessing a website (such as BlueSwarm), you can try the following steps to solve the problem.  The steps will show you how to ‘flush,’ or clear, your computer’s local DNS cache, which is used to help your computer load web pages faster.  If the following steps do not resolve the issue you are having, then the problem lies with your Internet Service Provider.  After flushing the DNS, you will also need to clear your browser’s cache in order for the fix to take full effect.  Instructions on how to do this are also below.
     

    DNS Reset:
    On Windows XP, Vista, 7:
    1.    Click the Start Menu or Start Orb (Vista/Win7).
    2.    Select ‘All Programs.’
    3.    Select ‘Accessories.’
    4.    Click ‘Command Prompt.’  On Windows Vista or Windows 7, you must right-click on the Command Prompt icon and select ‘Run as Administrator,’ then click ‘Yes’ at the User Account Control Prompt.
    5.    At the prompt, type ‘ipconfig –flushdns’.  This will flush the DNS Resolver Cache.
    6.    Close the window.

    On Mac OSX:
    1.    Double-click your ‘Macintosh HD’ volume.
    2.    Select ‘Applications.’
    3.    Select ‘Utilities.’
    4.    Double-click on ‘Terminal.’  This will open up a terminal window.
    5.    On OSX 10.4 (Tiger) or earlier, type in ‘lookupd –flushcache’.  On OSX 10.5 (Leopard) or newer, type in ‘dscacheutil –flushcache’.  This will clear your local DNS cache.
    6.    Type in ‘exit’.
    7.    Press Command-Q (%u2318-Q) to quit the Terminal window.

    On Linux:
    Linux does not normally store DNS unless you have the nscd service or a DNS server installed.  In order to flush the DNS, you will have to install the nscd service.  The following instructions work on a *buntu (Ubuntu, Kubuntu) distribution.
    1.    At a terminal prompt (if you have the Gnome user interface, it is in Applications --> Accessories --> Terminal; in KDE it is Kicker --> Applications --> System --> Konsole), type ‘sudo apt-get install nscd’.  This will install the nscd daemon.
    2.    Type ‘/etc/init.d/nscd restart’.  This will reset the DNS cache and cause the computer to lookup new DNS information.

    Clearing the Cache:
    Internet Explorer 7/Internet Explorer 8
    1.    Click on the Tools menu.
    2.    Click ‘Internet Options’.
    3.    Under ‘Browsing History’, click Delete.
    4.    Click Delete.
    5.    Click OK to close Internet Options.
    6.    Close your browser window and reopen it.

    Firefox 3.5 (Win/OSX/Linux)
    1.    From the Tools menu, select ‘Clear Recent History’.
    2.    From the "Time range to clear:" drop-down menu, select the desired range; to clear your entire cache, select Everything.
    3.    Click the down arrow next to ‘Details’ to choose what history elements to clear.
    4.    Click ‘Clear Now’.
    5.    Close your browser window and reopen it.

    Firefox 3 (Win/OSX/Linux)
    1.    Click on the Tools Menu.
    2.    Click ‘Clear Private Data’.
    3.    Make sure all the boxes are checked, then click ‘Clear Private Data Now’.
    4.    Restart the browser.

    Safari 4 (Win)
    1.    From the Options menu (the Gear in the upper-right corner), click ‘Reset Safari.’
    2.    Make sure all the options are checked off.
    3.    Click ‘Reset’.
    4.    Restart your browser.

    Safari 4 (OSX)
    1.    Open the Safari menu.
    2.    Click ‘Empty Cache’.
    3.    Quit Safari and reopen it.

    Google Chrome (Win)
    1.    Click the Options menu (the wrench icon in the upper-right corner).
    2.    Select ‘Clear Browsing Data’.
    3.    Make sure all the options are selected and the period to clear is ‘Everything,’ then click ‘Clear Browsing Data.’
    4.    Restart the browser.
     

  • July 22, 2009

    Campaign Contribution Limits by State

    There is an old saying in Russia about money, "he who has money need have no fear of the law." Alas, this is not true in the United States with regard to campaign fundraising. Most states have some sort of law regulating campaign financing, and in particular the level of donations that a person, corporation, or political action committee (PAC) can provide to an active campaign.

    Naturally, these laws differ by state. Luckily for you, our team has found a chart for all state limits and we are reposting it here for your political fundraising pleasure.

    Individual Contributions State Party Contributions PAC Contributions Corporate Contributions Union Contributions
    Alabama

    § 17-22A-1 et seq.
    Unlimited Unlimited Unlimited $500/candidate/electiona,d,j Unlimited
    Alaska

    § 15.13.065 to .080
    $500/candidate/year Aggregate amounts candidates may accept from non-residents: $20,000/year/gub candidate $5,000/year/senate candidate $3,000/year/house candidate $100,000/year/gub candidate $15,000/year/senate candidate $10,000/year/house candidate $1,000/office/year Contributions from out-of-state PACs prohibited Prohibited Prohibited
    Arizona,b,p

    § 16-901 et seq.
    Limits for the 2009-2010 election cycle:
    $840/statewide candidates $410/legislative candidates

    An individual may not contribute an aggregate amount in excess of $5,850 per calendar year to candidates and committees that give to candidates. Amounts are per election cycle.
    Limits for the 2009-2010 election cycle:

    Aggregate contributions accepted from all political parties and organizations cannot exceed:

    $83,448 - statewide candidates $8,352 – legis. candidates
    Limits for the 2009-2010 election cycle:
    “Super” PACsc: $4,176/statewide candidate $1,664/legislative candidate

    Regular PACs:
    $840/statewide candidate $410/legislative candidate

    Aggregate contributions accepted from PACs cannot exceed:
    $83,448 - statewide candidates
    $13,464 – legis. candidates

    Amounts are per election cycle
    Prohibitedd Prohibitedd
    Arkansas

    § 7-6-201 et seq.
    $2,000/candidate/electiona $2,500/electiona $2,000/candidate/electiona Same as individual limits Same as individual limits
    Californiap

    Gov. Code
    § 85300 et seq.
    For elections held on or after January 1, 2009: $25,900/gubernatorial cand. $6,500/statewide candidate $3,900/legislative candidate
    Amounts are per electiona
    Unlimited For elections held on or after January 1, 2009:

    “Small Contributor” Cmtesg: $25,900/gubernatorial cand. $12,900/statewide candidate $7,800/legislative candidate

    Regular PACs: Same as individual limits Amounts are per electiona
    Same as individual limits Same as individual limits
    Coloradop

    Constitution Art. XXVIII
    Limits effective 2007 - 2010: $525/gub candidate
    $525/other statewide cand $200/legis candidate

    Amounts per electiona
    Limits effective 2007 - 2010: $530,000/gub candidate $106,000/other statewide cand
    $19,080/senate candidate $13,780/house candidate

    Note: Political parties are prohibited from contributing to any candidate more than 20% of the voluntary expenditure limits, which are adjusted every 4 years. Amounts are per applicable election cycle.
    Limits effective 2007 - 2010: “Small Donor” Committees:i $5,300/gub& statewide cand $2,125/legis. cand.

    Regular PACs: Same as individual limits
    Prohibitedd Prohibitedd
    Connecticutb

    § 9-611 et seq.
    $3,500/gub candidate $1,000/senate candidate $250/house candidate

    $15,000 aggregate/individual to all candidates and committees

    All amounts are per electiona
    $50,000/gub candidate $10,000/senate candidate $5,000/house candidate

    All amounts are per electiona
    $5,000/gubernatorial candidate $1,500/state senate candidate $750/state house candidate

    Aggregate limits on contributions by PACs to candidates:
    $100,000/election by a PAC established by a business entity $50,000/election by a PAC established by an organization

    All amounts are per electiona
    Prohibitedd §9-613 Same as individual limitsd
    Delaware

    § 15-8010 to 8013
    $1,200/statewide candidate $600/other candidate

    All amounts per election cycle
    $75,000/gub candidate $5,000/senate candidate $3,000/house candidate

    All amounts per election cycle
    Same as individual limits Same as individual limits Same as individual limits
    Florida

    § 106.08
    $500/candidate/electiona Same as individual limits Same as individual limits Same as individual limits Same as individual limits
    Georgiap

    § 21-5-41 to 43
    Limits effective as of 2/24/09: Statewide candidates: $6,100/primary election $3,600/primary run-off $6,100/general election $3,600/general run-off

    Legislative candidates:
    $2,400/primary election $1,200/primary run-off $2,400/general election $1,20/general run-off
    Same as individual limits Same as individual limits Same as individual limits Same as individual limits
    Hawaii

    § 11-200 to 207
    $6,000/statewide candidate $4,000/senate candidate $2,000/house candidate

    Contributions from a candidate's immediate family are limited to $50,000 in an election cycle, including loans.

    All amounts are per election cycle
    Same as individual limits Same as individual limits Same as individual limits Same as individual limits
    Idaho

    § 67-6610A
    $5,000/statewide candidate $1,000/leg candidate Amounts are per electiona $10,000/statewide candidate $2,000/legislative candidate Amounts are per electiona Same as individual limits Same as individual limits Same as individual limits
    Illinois

    10 ILCS 5/9-1 et seq.
    Unlimited Unlimited Unlimited Unlimited Unlimited
    Indiana

    § 3-9-1-1 et seq.
    Unlimited Unlimited Unlimited $5,000 in the aggregate to statewide candidates $2,000 in the aggregate to senate candidates

    $2,000 in the aggregate to house candidates

    All amounts are per year
    Same as corporate limits unless made by the union’s PAC, in which case there are no limits.
    Iowa

    § 68A.503
    Unlimited Unlimited Unlimited Prohibited Unlimited
    Kansas

    § 25-4153
    $2,000/statewide candidate $1,000/senate candidate $500/house candidate Amounts are per electiona For a contested primary election, same as individual limits. Unlimited in uncontested primaries and general elections Same as individual limits Same as individual limits Same as individual limits
    Kentucky

    § 121.150
    $1,000/candidate/electiona Unlimitedk

    Except for gubernatorial slates, no candidate can accept party contributions which in the aggregate exceed 50% of total contributions or $10,000 (whichever is greater) in an election cycle.
    Same as individual limits Aggregate Limits: - Except for gubernatorial slates, no candidate can accept PAC contributions which in the aggregate exceed 50% of total contributions or $10,000 (whichever is greater) in an election cycle.

    Gubernatorial slates that accept public financing may not accept more than 25% of their contributions from PACs - Other gubernatorial slates may not accept more than 25% or $150,000 (whichever is less) of contributions from PACs
    Prohibited Same as individual limits
    Louisiana

    § 18:1481 to 1532
    $5,000/statewide candidate $2,500/legislative candidate

    Both amounts are per electiona
    Unlimited Regular PACs: Same as individual limits

    “Big” PACsf: Double the amount of individual limits

    Candidates subject to following aggregate limits on all PAC contributions accepted for the primary and general elections combined: $80,000/statewide candidate $60,000/legislative candidate
    Same as individual limits Same as individual limits
    Maineb

    Tit. 21-A, § 1001 to 1128
    $500/gub candidate/electiona $250/other candidate/electiona Individuals limited to $25,000 aggregate contributions to all campaign finance entities per calendar year. Same as individual limits Same as individual limits Same as individual limits Same as individual limits
    Maryland

    Election Law § 13-226
    $4,000/candidate $10,000 aggregate to all candidates

    Both amounts are per 4-year election cycle (1/1/-07-12/31/10)
    Transfer limit: $6,000/4-year election cycle

    In-Kind Contributions: Limited to an amount equal to $1 for every two registered voters in the state, regardless of political affiliation. Limit is per 4-year election cycle.
    $6,000/candidate/4-year election cycle Same as individual limits Same as individual limits
    Massachusetts

    Ch. 55, § 6, 6A, 7A and 8
    $500/candidate

    $12,500/individual aggregate limit on contributions to all candidates

    Registered lobbyists may only contribute up to $200/candidate

    All amounts are per calendar year.
    $3,000/candidate/year

    No limit on in-kind contributions
    Regular PAC: $500/candidate

    People's Committee:o $500/candidate

    Candidates cannot accept aggregate PAC contributions that exceed the following amounts:
    $150,000/gub candidate $18,750/senate candidate $7,500/house candidate

    All amounts per calendar year.
    Prohibited Same as PAC limits
    Michigan

    § 169.252
    $3,400/statewide candidate $1,000/senate candidate
    $500/house candidate

    All amounts are per election cycle
    $68,000/statewide candidate
    $10,000/senate candidate $5,000/house candidate

    All amounts are per election cycle
    Political Committees: Same as individual limits.

    Independent Committeesh: $34,000/statewide candidate $10,000/senate candidate $5,000/house candidate All amounts are per election cycle
    Prohibitedd Prohibitedd
    Minnesota

    § 10A.27
    Election year limits:
    $2,000/gub candidate
    $500/legislative candidate

    Non-election year limits:
    $500/gub candidate
    $100/legislative candidate

    Aggregate contributions from PACs, lobbyists, political funds and individuals who contribute or loan more than ½ the yearly contribution limit cannot exceed 20% of spending limits. For 2007, those amounts are: $95,800/gub candidate
    $2,400/senate candidate $1,200/house candidate

    All amounts are per calendar year.
    Party committees may contribute up to 10 times the limits imposed on individuals Same as individual limits Prohibited Same as individual limits
    Mississippi

    § 23-15-801 et seq. §79-13-15
    Unlimited Unlimited Unlimited $1,000/candidate/calendar year Unlimited
    Missouri

    § 130.031
    Unlimited Unlimited Unlimited Unlimited Unlimited
    Montanap

    § 13-37-216
    $630/gubernatorial slate
    $310/other statewide candidate $160/legislative candidate

    Limits will be adjusted in 1/10 Amounts are per electiona
    $22,500/gubernatorial slate $8,150/other statewide cand.
    $1,300/senate candidate $800/house candidate

    Limits will be adjusted in 1/10
    All amounts are per electiona
    Same as individual limits. Candidates limited to total contributions from all PACs: $2,450 senate candidates $1,500 house candidates

    Limits will be adjusted in 1/10 Amounts are per electiona
    Prohibitedd Same as individual limits
    Nebraskap

    § 32-1608
    Unlimited Candidates limited to maximum amount of aggregate contributions that can be accepted in an election period from PACs, corporations, labor unions, associations, other candidate committees, political parties, and other organizations. Once the limit is reached, candidates may accept only individual contributions.

    Limit for 2010:
    $46,000/legislative candidate (No statewide races in 2010)
    Same as party contribution limits Candidates may not accept funds totaling more than 40% of the voluntary spending limit for their office. Same as party contribution limits
    Nevada

    § 294A.100 and Const. Art. 2 §10
    $5,000/candidate/electiona Same as individual limits Same as individual limits Same as individual limits Same as individual limits
    New Hampshire

    § 664:4
    To candidates not agreeing to abide by spending limits: $1,000/electiona

    To candidates agreeing to abide by spending limits: $5,000/electiona
    To candidates not agreeing to abide by spending limits: $1,000/electiona

    Unlimited to candidates who agree to expenditure limits
    Same as party limits Same as individual limitsn Prohibited
    New Jerseyp

    § 19:44A-11.3
    $3,400/gubernatorial cand $2,600/legislative candidate

    Both amounts are per electiona
    No limit on contributions by state & county committees

    National party committee: $8,200/electiona
    $8,200/candidate/electiona Same as individual limits Same as individual limits
    New Mexico

    § 1-19-25 to 36
    Unlimited (Effective 11/3/10): $2,300/non-SW cand/electiona $5,000/SW cand/electiona Unlimited ( Effective 11/3/10): $5,000/electiona Unlimited (Effective 11/3/10): $5,000/electiona Unlimited ( Effective 11/3/10): Same as individual limits Unlimited (Effective 11/3/10): Same as individual limits
    New Yorkp

    Election Law, § 14-114
    For 2008:
    Gub. Cand.
    Primary – Product of number of enrolled voters in candidate’s party in state x $.005, but not less than $6,000 or more than $18,100
    General:
    $37,800

    Legis. Cand.
    Primary:
    $6,000/senate candidate $3,800/house candidate
    General
    $9,500/senate candidate $3,800/house candidate

    Max. contribs. by individual limited to $150,000 in the aggregate. Separate limits apply for contribs. from all family members in the aggregate. Limit is based on the formula of total # of enrolled voters in candidate’s party in the state x $0.025. For legislative candidates, this amount may not exceed $100,000. “Family” is defined as a child, parent, grandparent, brother, sister, and the spouses of those persons. All amounts per calendar year
    Prohibited in primary election.

    Unlimited in general election.
    Same as individual limits. Corporations are limited to $5,000 per year in aggregate contributions to NY state candidates and committees. Same as individual limits.
    North Carolina

    § 163-278.6 et seq.
    $4,000/candidate/electiona Unlimited Same as individual limits Prohibitedd Prohibitedd
    North Dakota

    § 16.1-08.1
    Unlimited Unlimited Unlimited Prohibitedd Prohibitedd
    Ohiop

    § 3517.102(B)(1)(a) and 3599.03
    Limits effective 2/25/09: $11,395.56/candidate/electiona $642,709.58/statewide cand. $128,200.05/senate candidate
    $63,815.14/house candidate In-kind contributions: unlimited

    All amounts are per electiona
    Same as individual limits Prohibitedd Prohibitedd
    Oklahoma

    21 OS § 187.1 et seq. and Ethics Commission Rules; §257:1-1-1 et seq. and §257:10-1-2 et seq
    $5,000/candidate/campaign

    *This limit applies to an entire family, defined as an individual, his spouse, and all children under 18 living in the same household.
    $50,000/gubernatorial candm $25,000/other statewide candm
    $1,000/legislative candidate

    All amounts per calendar year
    Same as individual limits Prohibitedd Prohibitedd
    Oregon

    § 260.160 to 174
    Unlimited Unlimited Unlimited Unlimited Unlimited
    Pennsylvania

    25 Pa Stat § 3241 to 3260a
    Unlimited Unlimited Unlimited Prohibitedd Prohibitedd
    Rhode Island

    § 17-25-10.1
    $1,000/candidate or $2,000/candidate if candidate qualifies for public funding and agrees to abide by spending limits

    Both amounts are per calendar year. Individuals limited to $10,000 in aggregate contributions to candidates, PACs and party committees per year
    $25,000/candidate/year

    In-kind contributions unlimited
    $1,000/candidate/calendar year or $2,000/candidate/year if candidate qualifies for public funding and agrees to abide by spending limits

    Annual aggregate limit of $25,000 to all recipients
    Prohibited Prohibited
    South Carolina

    § 8-13-1314 to 1316
    $3,500/statewide candidate $1,000/legislative candidate

    Both amounts are per electiona
    Candidates may not accept more than the following from parties during an election cycle:

    $50,000/statewide candidate $5,000/other candidate
    Same as individual limits Same as individual limits Same as individual limits
    South Dakota

    § 12-27-7
    $4,000/statewide candidate $1,000/legislative candidate

    Both amounts are per calendar year
    Unlimited Unlimited Prohibited Prohibitedd
    Tennessee

    § 2-10-302
    $2,500/statewide candidate $1,000/legislative candidate Both amounts are per electiona Candidates limited to aggregate amount from all political party committees:

    $250,000/statewide candidate
    $40,000/senate candidate $20,000/house candidate

    All amounts are per electiona
    $7,500/statewide candidate $7,500/senate candidate $5,000/other candidates

    No more than 50% of a statewide candidate’s or $75,000 of a legislative candidate’s total contributions may come from PACs All amounts are per electiona
    Prohibited Same as individual limits
    Texas

    Election Code, § 253
    Unlimited Unlimited Unlimited Prohibitedd Prohibitedd
    Utah

    § 20A-11-101
    Unlimited Unlimited Unlimited Unlimited Unlimited
    Vermonte

    17 VSA §2805
    $1,000/candidate/electiona,l Contributions from immediate family members are unlimited. Unlimited $3,000/candidate/electiona Same as individual limits Same as individual limits
    Virginia

    § 24.2-900 et seq.
    Unlimited Unlimited Unlimited Unlimited Unlimited
    Washingtonp

    RCW § 42.17.610 et seq.
    WAC § 390-05-400
    Adjusted limits effective 12/28/08: $1,600/gub candidate $800/legislative candidate

    Both amounts are per electiona During the 21 days before the general election, no contributor may donate more than $50,000 in the aggregate to a statewide candidate or $5,000 in the aggregate to any other candidate. This includes a candidate's personal contributions to his/her campaign.
    Aggregate contributions from a state party central committee to a statewide or legislative candidate may not exceed $.80 x number of registered voters in candidate’s district. This limit applies to the entire election cycle. Same as individual limits A PAC that has not received contributions of $10 or more from 10 or more WA registered voters during the past 180 days is prohibited from making contributions. Prohibited for corporations not doing business in Washington state. Same as individual limits for Washington corporations. Prohibited for unions that have fewer than 10 members who reside in Washington. Same as individual limits for Washington unions.
    West Virginia

    § 3-8-8 to 12
    $1,000/candidate/electiona Same as individual limits Same as individual limits Prohibitedd Same as individual limits
    Wisconsin

    § 11.01 et seq.
    $10,000/statewide candidate $1,000/senate candidate $500/house candidate

    Above amounts are per election campaign. An individual may not contribute more than $10,000 in a calendar year to any combination of Wisconsin candidates or political committees.
    Aggregate limit on amount candidates may accept from all committees, including party committees, in an election campaign:
    $700,830/gub. candidate $22,425/senate candidate $11,213/house candidate
    $43,128/gub candidate $1,000/senate candidate $500/house candidate

    Aggregate limit on amount candidates may accept from all committees, excluding party committees, in an election campaign:
    $485,190/gub. candidate $15,525/senate candidate $7,763/house candidate

    All amounts are per election cycle.
    Prohibited Prohibited
    Wyoming

    § 22-25-102
    $1,000/candidate/electiona

    No individual may make more than $25,000q in total contributions during a two-year election cycle.
    Unlimited Unlimited Prohibited Prohibited

    (a) Primary and general are considered separate elections; stated amount may be contributed in each election.
    (b) Candidates participating in “Clean Elections” public financing may not accept contributions after qualifying for public funds. Limits listed are for candidates not participating in public financing program.
    (c) In Arizona, a PAC that has received contributions from 500 or more individuals in amounts of $10 or more in a one-year period may qualify as a “Super PAC.” Qualification is valid for two years. (Ariz. Rev. Stat. §16-905(I))
    (d) Direct corporate and/or union contributions are prohibited and/or use of treasury funds and/or dues is prohibited. In these states, the law specifically says that nothing prevents the employees or officers of a corporation from making political contributions through a PAC, using funds from an account that is separate and segregated from corporate accounts. Such contributions are subject to the same limitations placed on other PACs.
    (e) Full public financing is available to qualifying candidates for governor and lieutenant governor. A candidate who wishes to receive public funding may not solicit or accept any private contributions except qualifying contributions.
    (f) In Louisiana, a “Big PAC” is a PAC with over 250 members who contributed over $50 to the PAC during the preceding calendar year and has been certified as meeting that membership requirement.
    (g) In California, a “small contributor committee” is a committee which has been in existence for at least six months, receives contributions from 100 or more persons in amounts of not more than $200 per person, and makes contributions to five or more candidates. (Cal. Govt. Code §85203)
    (h) In Michigan, an “independent committee” must have filed a statement of organization at least 6 months before the election in which the committee wishes to make contributions; must have supported or opposed 3 or more candidates for nomination or election; and must have received contributions from at least 25 persons.
    (i) In Colorado, a “small donor committee” means any political committee that has accepted contributions only from natural persons who each contributed no more than $50 in the aggregate per year.
    (j) Any public utility regulated by the Public Service Commission is prohibited from making political contributions (Ala. Code §10-2A-70.1)
    (k) The text of the statute on contribution limits (KRS §121A.050(1)) states that party contributions to candidates are limited to $1,000 per election. However, the Kentucky Registry of Election Finance’s web site states that party contributions to candidates are unlimited ( http://www.state.ky.us/agencies/kref/contlmt.htm , see footnote 4).
    (l) Vermont’s attempt to limit out-of-state contributions to 25% of a candidate’s total contributions received was declared unconstitutional on August 18, 2004, by the U.S. 2nd Circuit Court of Appeals (Landell v. Sorrell, 382 F.3d 91 (2004))
    (m) While these limits are specified in Oklahoma’s Ethics Rules, statutes have not been changed to reflect this limit. According to the statutes, any contribution in excess of $5,000 would constitute a criminal violation.
    (n) Corporations are no longer prohibited from making political contributions under New Hampshire law despite the language of NH RSA 664:4. That ban was declared unconstitutional by a federal district court in 1999. A June 6, 2000 letter from Deputy Attorney General Steven M. Houran indicates that the limits on individual contributions now apply to corporate contributions as well.
    (o) In Massachusetts, a"People's Committee" is a PAC that has been in existence for six months, has received contributions from individuals of $140 (adjusted biennially; this amount is for 2006-2007) or less per year, and has contributed to five candidates. It is unclear what advantage there would be to converting to a People's Committee, since the contribution limits are the same.
    (p) Contribution limits are adjusted for inflation at the beginning of each campaign cycle.
    (q) Effective July 1, 2009, decreases to $12,500 (see SF 94, 2009)

  • June 23, 2009

    Campaign data drives the voter lifecycle

    Drive the Voter Lifecycle by capitalizing on your greatest ally: Campaign data. Campaign data helps you raise money, build a brand, and put the right people in the voting booth by allowing you to identify and target:
        •    Probable voters,
        •    Favorable voters (ones who will vote for your candidate),
        •    Potential donors, fundraisers, & motivators,
        •    Voters to be ignored

    Data allows you to build a strategy that drives disengaged voters from supporters, to donors, to fundraisers, and finally to campaign advocates; a sequence BlueSwarm refers to as the Voter Lifecycle.

    Unfortunately, most political organizations have difficulty using the data they have. The wide variety of disparate databases made necessary by the diverse data collection methods utilized by vendors (usually proprietary databases) and consultants (usually spreadsheets) are at fault. These databases collect campaign data without regard for diverse data collection methods causing overlapping or duplicate data for a voter, for a region or for an event.

    These disparate databases and the data points they collect include:   

    ➢ Voters
        Voter list generation
        Voter direct mail
        Paid-phone voter ID
        Absentee voter/early voter data
        Micro-Targeting
        GOTV

    ➢ Volunteers
        Volunteer phone lists
        Volunteer preferences
        Yard sign locations

    ➢ Favorable
        Voter ID
        GOTV
        Direct mail surveys
        Online surveys

    ➢ Fundraising
        Bundling programs
        Major donor programs
        Low-dollar programs
        PACs/527s
        Events
        o    Invite lists
        o    RSVPs
        o    Host reports
        Direct mail solicitations
        Email solicitations
        Outbound telemarketing
        Online donations

    ➢ Donors
        Pledge tracking
        Pledge management
        Contribution tracking
        Contribution management
        Bundler management
        Fulfillment
        o    Thank you letters/emails
        o    Pledge letters
        o    Premiums
        Donor relationship management
        o    Direct mail
        o    Telemarketing
        o    Email
        Inbound telemarketing

    ➢ Communications
        Online
        Phone banking/Robo-calls
        Direct mail
        Door-to-door
        Email blasts

     No one vendor or organization can provide best-in-class services for all of the data listed above, which is why we see diverse data collection methods and disparate databases. However, by:

    • Content Image Housing all campaign data in a centralized database, and
    •  Providing database access to all campaign vendors,

    a campaign effectively develops a platform that can accommodate its widely varying needs while preventing the long-standing problems of overlapping or duplicate data. The campaign can then focus on analyzing and acting on data rather than aggregating and managing data.

    The benefits of housing all campaign data in a centralized database and creating a standard set of web services for vendor integration include:

    • Future-proof campaign data against a constantly changing technology and political world,
    • Ability for the campaign to select vendors on a function-by-function basis,
    • Reduction of the campaign’s cost to change vendors thus creating a competitive vendor environment, and, most importantly, reducing the campaign’s dependence on any single vendor,
    • Allowing the campaign to emphasize action on data rather than synchronizing data between varying systems


    But how do you determine what, exactly, should go in the database from this wealth of data? 

    The answer to this question leads back to driving the Voter Lifecycle. The Voter Lifecycle focuses on each individual person’s conversion from disengaged voter, to supporter, to donor, to fundraiser, to advocate. Therefore, a centralized database should be configured to focus on contact records.

    Increasing the Voter Lifecycle’s conversion rate is most dependent on a few core pieces of information that should be stored in a contact record:

    • Name and contact info
    • How a contact got into the database
    • Current position in the Voter Lifecycle
    • If and when a contact volunteers or how much they donated
    • If they are part of another important group such as press or surrogates


    This information empowers a campaign to identify and target their audience by defining Lifecycle Personas. Character profiles identifying a contact’s needs, desires, worldview, attitude, personality, and behavior define Lifecycle Personas.

    The principle value of Lifecycle Personas lies in their influence on campaign decision-making processes:

    • What language to use in appeal letters,
    • How marketing strategies are implemented,
    • How to coordinate GOTV and door knocks, etc. 

    Obviously, the more robust your data is on each contact, the better prepared a campaign is to develop these Lifecycle Personas.

    The key take-away here is that campaigns need to develop Lifecycle Personas as early as possible, so implementing a centralized database focused on contact records at an early stage is critical.

    A campaign may only have one opportunity to capture information from a voter. Be sure your campaign is ready to seize that opportunity and capitalize on your greatest ally: Campaign Data.

  • May 28, 2009

    Best Craigs List sales copy ever written

    Who says great sales copy has to be short and direct. Here is an ad for a couch in the Bay Area that is utterly inspiring. I am dying to see a picture of this "leather couch of my dreams."

    The bad news is that CraigsList doesn't have a good sense of humor and they've already pulled this posting down. Boooo!

     


     

    Here it is...the leather couch of your dreams. Its beige leather surfaces are in pristine condition, no rips or scuff marks to speak of. Animals domesticated or otherwise, were not allowed on it. Teenagers were only allowed only under adult supervision and with numerous scornful/reproachable looks thrown in to make them uncomfortable enough to leave the room. Moreover, despite best efforts for conjugal activity, nothing of a sexual nature has ever happened on (or sadly near) this sofa.

    This sofa is in, another words, FANTASTIC shape.

    But wait...there's more!

    This couch originally cost over $1,300 and includes an inner spring mattress that has NEVER BEEEN slept on. That's right. No only has sexual activity never occurred ON the sofa, the bed itself has never had a hint of any such action. Let alone drooling, snoring or even breathing.

    So how much does such a beautiful, exquisite, dare we say, Virginal, piece of furniture cost you?

    Wait for it...

    $200 obo.

    That's right, OBO. Or Best Offer. So you're probably just vibrating with anticipation at this point as to exactly what could constitute a 'best offer'. Well, let me tell you.

    A best offer is when someone arrives, looks at the couch, hands over an agreeable sum of money and THEN CARTS THE COUCH AWAY.

    What is an agreeable sum of money?...I don't know, riddle me this Sherlock...did you notice the part where I said, THEN TAKES THE COUCH AWAY? Because if you can follow those simple instructions that agreeable sum of money can be ludicrously small, a pittance, a flippin' joke in fact. But if you show up, offer $150 and then ask me to move it for you, well, you're about $1,000.00 too short.

    So, if you want the couch, if you need this couch, if you're just'a jonesing for that perfect couch to perform all sorts of debauchery on...and if YOU're willing to CART this couch away...this couch is definitely for you.

    One last thing, if you can get my son to help you load it I will give you $20. That's right, if you'll get him to actually help lift the friggin couch, you win $20. I don't care if we settle for $10 on the couch and I wind up OWING you money. Just ask for the Internet deal.

  • May 12, 2009

    FEC's New 3L Form Targets Campaign Bundlers

     

    Content Image The 3L form is the latest and greatest hit from those star-makers at the FEC. The purpose of this filing is to track bundled contributions forwarded by, or created by lobbyist and PACs. Here is the actual 3L form for your PDF downloading, form-filling enjoyment.

    Who does it affect?

    The 3L is designed to disclose bundled contributions from

    • lobbyist/registrants, or
    • lobbyist/registrant PACs

    who contribute in excess of $16,000 during a filing (or coverd) period.

    What is a "filing period?"

    House and Senate candidates - your filings are quarterly: April 15, July 15 and Jauary 31. Quarterly reports filed on July 15 and January 31 must also include total reportable bundled contributions for the semi-annual covered periods of January 1 through June 30, and July 1 through December 31, respectively. Reports for the 12-Day Pre-Election covered period include activity from the day after the closing date of the last report filed through the 20th day before the election and are filed no later than the 12th day before any primary or general election in which the candidate seeks election. Reports for the 30-Day Post-General Election covered period include activity from the day after the closing date of the last report filed through the 20th day after the election and are filed no later than 30 days after the general election.

    Party Committees, Leadership PACS, and Presidential Committees - You file your 3Ls at the same time as you file your Form 3X but... if you file your 3X monthly, you have the option of filing your 3L quarterly. Now isn't that easy to remember?

    Thanks FEC for another great form!

    Here is the full FEC speal on the 3L.

  • April 30, 2009

    Handy Federal Election donation limits chart (thanks McKenna Long & Aldridge)

    A friend of ours over at McKenna Long & Aldridge LLP in DC gave us this great donor limits chart (in a business card size). It is a pretty handy tool so here it is for all you campaigners out there:

    Donors
    Recipients
    Special Limits
     
    Candidate Committee
    PAC (1)
    State, District, Local Party Committee (2)
    National Party Committee (3
     
    Individual
    $2,400* per election (4)
    $5,000 per year
    $10,000 per year combined limit
    $30,400 per year*
    Biennial limit of $115,500* ($45,600 to all candidates and $69,900 to all PACs and parties (5)
    State, District and Local Party Committee
    $5,000 per election combined limit
    $5,000 per election combined limit
    Unlimited transfers to other party committees
     
    National Party Committee
    $5,000 per election
    $5,000 per year
    Unlimited transfers to other party committees
    $42,600* to Senate candidate per campaign (6)
    PAC Multi-Candidate (7)
    $5,000 per election
    $5,000 per year
    $5,000 per year combined limit
    $15,000 per year
     
    PAC Not Multi-Candidate
    $2,400* per election (8)
    $5,000 per year
    $10,000 per year combined limit
    $30,400* per year
     

    *These limits are indexed for inflation in odd-numbered years.

    (1) These limits apply both to separte segregated funds (SSFs) and political action committees (PACs). Affiliated committees share the same set of limits on contributions made and received.

    (2) A state party committee shares its limits with local and district party committees in that state unless a local or district committee's independence can be demonstrated. These limits apply to multicandidate committees only.

    (3) A party's national committee, Senate campaign committee and House campaign committee are each considered natinal party committees, and each have separate limits, except with respect to Senate candidates - see Special Limits column.

    (4) Each of the following is considered a separate election with a separate limit primary election, caucus or convention with the authority to nominate, runoff election and special election.

    (5)No more than $45,600 of this amount may be contributed to state and local parties and PACs.

    6) This limit is shared by the national committee and the Senate campaign committee.

    (7) A multicandidate committee is a political committee that has been registered for at least 6 months, has received contributions from more than 50 contributors and - with the exception of a state party committee - has made contributions to at least five federal candidates.

    (8) A federal candidate's authorized committee(s) may contribute no more than $12,000 per election to another federal candidate's authorized committee(s). 2USC§432(e)(3)(B) and 11CFR 102.12(c)(2).

  • April 28, 2009

    Boston Globe burys White House related errors!

     

    Which is the true news story here?

    Today's Wall Street Journal front page states:

        "A 'Classified Photo Op Turns Into A Soaring Blunder for the White House
      
    Mission to Get Beauty Shots of Presidential Jet At Statue of Liberty Panics 9/11-Wary New York."

    This headline is followed by a nice color picture of a Air Force One 747 and a fighter jet flying at low altitude. The article then goes on to talk about the Air Force admitting that the flight was a secret mission of which city officials had been made aware.

    What about the Boston Globe?

    The Boston Globe has a very different take on this story. On the Globe front page, there is a small lead that says,

        "A flyover by two jets sent frightened workers pouring out of buildings..."

    The AP article is printed on page A7 and doesn't mention the fact that one of the planes is an Air Force One 747 until the 8th paragraph, 300th word. Talk about burying the lead.

    The fact that it was a Presidential Air Force One buzzing Manhattan and scaring folks is THE STORY! Why hide it?

    This is not a huge story so why protect the White House in such a heavy handed manner? What else are you hiding?

    And the Globe (owned by the NY Times) wonders why its subscribers are  defecting to Internet based news sources.

  • March 26, 2009

    Presidental fundraising: 2008 verses 1976

    While doing a little market research today, we pluged the past 9 election cycle fundraising numbers into a graph. Besides the dip in the 1980 election, we've got a serious growth industry here.

    Note that the Y access is in millions so the total amount raised in the 2008 cycle was $1.63 billion. That buys a lot of yard signs.

    Content Image

  • March 26, 2009

    Calling all Australian PHP developers, we need bodies to manage our CodeIgniter/AJAX mashup CMS

    Calling all Australian PHP developers, we need bodies to manage our CodeIgniter/AJAX mashup CMS which we call Tegel: http://tinyurl.com/cg6x4g.

    Candidates must be able to work on-site at our offices in Rozelle, less then 7 minutes for the center of Sydney.

  • March 17, 2009

    Twitter for complete and utter beginners

    A client of ours who is not very "new media" savvy wants to jump into the Twitter pool without looking like a total rube. They asked if we could jot down a few notes to help them get started.

    If you are halfway familiar with Twitter, you can stop reading now. If you are new to the Twitter world, the following notes may help you get started. Note that these thoughts were pulled together from a bunch of folks in the office so if there is any plagiarism here, please be flattered ;)

    ------------------------------------

    1. Twitter Basics
    Twitter is a free mass text-messaging service that allows you to send out 140-character messages to a group of followers.  It is used by friends, family and co-workers to stay connected. Twitter utilizes real time updates (referred to as Tweets), which are posted on your web-based Twitter profile and sent to your Followers’ (other Twitter users) mobile phones.

    Twitter is like a casual digital diary and is used for publishing fun facts, useful tools, thoughts, questions, etc.  The 140-character space limit emphasizes a large number of short posts. Twitter posts traditionally consist of:
     

    • Status Updates: “Off to the store for some milk”
    • Musings: “The construction on 95 in Stoneham is driving me insane!”
    • Interesting Links: “Peggy Noonan’s comments today on the economy hit the nail on the head: http://online.wsj.com/peggy-noonan.html”
    • Questions: “Is anyone else having problems with their GE fridge freezing up?”
    • And much more.


    It is not necessary to make each Twitter post substantial. Twitter followers are most interested in what you are interested in or what you are doing now. Twitter should be treated as a fun, slightly self-indulgent broadcasting toy that can lead to a deeper connection with your audience.

    Note that Twitter is not just a way to broadcast messages, you can also reply, “@replies” in Twitter-speak, to your followers. Replies are not necessary but are considered good form in the Twitter world.

    2. Glossary

    • Tweet – a short (I40-character) message.
    • weeters/Tweeple - People who use Twitter.
    • Twoosh - A perfect 140-character tweet.
    • Followers - Tweeters who are following your tweets. Followers will see any updates you make on their homepage of Twitter.
    • Following - Tweeters you are following. You will see any updates (tweets) on your homepage from anyone you are following
    • TweetUp - An ‘in person’ meeting between Twitter users.


    3. Getting Started
    All you need to use Twitter is a computer with an Internet connection or a mobile phone.  Go to http://twitter.com and sign up.  Take a look at who is using Twitter by using the Find People tab.  Some successful tweeters include:
     


    Once you are comfortable with the experience, you can take advantage of all Twitter features.

    4.  Things you should do

    • Post tweets that add more value than the attention it consumes.  Instead of posting “just had a great burger”, post something like “great burger specials today at Joe’s Burger Palace in Cambridge”.
    • Be aware of how often you tweet. Post enough to keep followers interested (at least once a day), but not so much that you flood their feeds with 50 new tweets a day.
    • Use Twitter to provide updates when a new blog post or press release is posted on your website. This can be done automatically provided the content is already in an RSS feed.
    • Use services like tinyurl.com and is.gd to shorten links. Tweet real estate is important because of the 140-character limit.  Tweeters use these services (often built into desktop and mobile Twitter applications) to shorten links like https://www.freestrongamerica.com/contribute to http://is.gd/kHdP.


    5.  Things you shouldn’t do

    • Do not post just news updates. News updates are important, but including personal content in your tweets allows for that human feel that makes social networking and media work.
    • Don’t post and read at the same time.  What happens is that you are all set to make a post, but you see updates from people you follow so you stop to read those.  After a while, you have forgotten what you intended to post, as well as your to do list.  Schedule time to twitter.
    • Do not use an @reply to send a message to someone that you would like to be private. This will show up on the public timeline.


    6. Mobile Tweeting

    • Text Messaging/SMS: You can send updates to Twitter by linking your mobile phone number to your Twitter account and then sending a text message to 40404. You can also elect to receive Twitter updates of other users by allowing Twitter to send their updates to you in a text message. Important: Twitter is limited to 140 characters while most mobile carriers set the text message limit at 160 characters. If you go over 140 characters then your message will be curtailed.
    • Smart phones: Popular devices like Blackberry’s and iPhones have applications that can be downloaded to improve the user’s experience with Twitter.  For the iPhone, try TwitterFon at http://twitterfon.net or Twitterrific at http://iconfactory.com/software/twitterrific.  Each device and application has its pros and cons, but the general principals of Twitter remain the same.


    7.  Twitter applications for Blackberry users

    • TwitterBerry – The most widely used Twitter application for Blackberry phones, TwitterBerry has its legions of loyal followers. With all applications, TwitterBerry can only pull from the Twitter api less than 70 times an hour. A complete FAQ can be found here: http://www.orangatame.com/products/twitterberry/faq.php.  The supported devices and system requirements can be found here: http://www.orangatame.com/products/twitterberry/.
    • Twibble – The second most popular Blackberry application for Twitter. Twibble will function on any JavaScript enabled mobile device. Pros for Twibble include keyboard shortcuts and minimal amounts of data transferred. A huge draw for most Twibble users is that Twibble can be configured to be ‘geographically aware’ on some devices – this includes updating your latitude and longitude coordinates with each Tweet. For obvious security reasons we would not recommend enabling this feature. More information here: http://www.twibble.de/twibble-mobile/.
    • TinyTwitter – TinyTwitter succeeds in that it will work for any phone that is JavaScript enabled. All of the basic functions are the same, including a number of settings to customize the user interface and data displayed. More information can be found here: http://www.tinytwitter.com/about.html.


    8.  Actions/Features

    • @replies - By using “@username” at the beginning of your tweet, you can direct that tweet at a specific user. It is intended to support back and forth communications. This type of messaging is publicly visible.
    • ReTweet - To re-send a previous tweet or to resend someone else's tweet so it reaches a larger audience. Proceeded with “RT @username” with the username being the original author.
    • Direct Messages - You can send a direct message to another user by using the message link on their profile page, the reply icon from your own direct message, or using the command “d <insert username> <insert text>” message. Only you and the person you are direct messaging will see the contents of the tweets.  You can only send a DM to someone who is one of hour followers.
    • Favorites - You can store any of your favorite tweets by clicking the star icon by the message.
    • Tags, hash tags, and #’s – You enter a tweet that reads: #golf Augusta National GC opening soon.  The #golf is a tag. Users will often include a tag somewhere in their messages if they are relevant to a popular topic. The tags can be searched at http://search.twitter.com/. The search result for #golf is http://search.twitter.com/search?q=%23golf.  All tweets with the #golf tag will be listed.


    9. Recommendations

    • Acquire your name, fore example: twitter.com/DavidBeckham: As in domain names, a Twitter account name is important. The more personal you can keep it, the better. Example: WarrenBuffett is a better username than BerkshireHathaway.
    • Use mobile tweeting, but use an application and not the text message service. If someone were to gain access to your account then that individual would be able to access your phone number. Also, an application can allow you to browse tweets easily – the SMS/text message option would require you to subscribe to a user and would also open yourself up to a plethora of text messages.
    • Consider using a service like TweetLater.com to track relevant keywords and hash tags, automatically post pre-written tweets at scheduled intervals, and automate a host of other actions.


     

  • February 26, 2009

    Australian Department of Immigration is all kinds of awesome

    Content ImageIt appears that usability standards have not reached Down Under.

    While filling out a 457 Long-Stay Visa application, we were faced with the following pulldown:

    "If you wish to lodge only one nomination application then leave the counter set at "0". Entering "1" will generate two nominations, this nomination and an additional nomination. Entering "9" will generate ten nominations, this nomination and an additional nine nominations."

    The best part was that one of the pull down options had two seperate zeros to choose from. Don't choose the first one becaust that zero doesn't work.

    Calling all usability experts, there are jobs to be had with the Australian Government!

  • February 26, 2009

    The wrath of Internet Explorer

    Lifehacker.com header in IE6, IE7, and FF3
    Lifehacker.com header - from top to bottom - in IE 6, IE 7, and Firefox 3.

    If you're involved in the world of web design and developing then you know all about the horrendous family of browsers from Microsoft. The nomenclature is quite appropriate - each labeled as Internet Explorer and then followed with a number that dictates what ring of hell each hails from.

    The awfulness of Internet Explorer (6 and 7 being the presently used versions) doesn't really have all that much to do with the user experience. IE 7 is actually a tolerable browser when you're stuck running Window Updates and downloading spyware tools on your computer illiterate friend's computer. The real evil shows itself when you write up code for a website and you have to insert some annoying workaround to get some simple element to render correctly.

    Case in point: When we want to use images with transparency in IE 6. Or building a Flash application that will run on a https server and the problems that causes with IE.

    In Internet Explorer's defense, other browsers do miss the mark in the same respect. But at least other browsers are grouped somewhere around the bull's eye. Internet Explorer is the drunk at the local bar that's, at times, lucky if it's hitting the wall that supports the dart board.

    Like an idiot I held out hope that IE 8 would make all of this a bit easier. Nope. Recent news from ZDNet is quite sad. IE 8 has a growing list of high traffic sites that apparently are not compatible with how it wants to render them. The best one on the list: microsoft.com.

    And all these browser issues is another reason why we love Flex.

  • January 26, 2009

    My.BarackObama.com used to spread malware

    It appears that our misgivings regarding the Obama campaign and our our online privacy protection posted in our October posting had some merit.

    According to the "Websense Security Labs Threat Seeker" (that is quite a product name), bogus my.barackobama.com user accounts are being used to spread malicious code. Here is the full posting: http://securitylabs.websense.com/content/Blogs/3284.aspx. The scary part is that these reports of malware on my.barackobama.com began last spring and have yet to be resolved.

    Don't get us wrong, we believe in the use of technology to bring people and ideas together. Unfortunately, when every you bring large groups of people to one place, there will be opportunities for bad guys to be bad. As in meat-space, we all need to do our level best to make public areas (social networks) safe for everyone.

    In the end, we are responsible for ourselves and for what we download or share online. Embrace change but "hey, let's be careful out there... "

  • January 16, 2009

    eNilsson contributes to job growth in Washington, Boston and Sydney

    eNilsson is hiring! Our business is doubling this year and we need your help.

    Boston (Westford) - We are looking for a Project Manager who is comfortable getting their hands a little dirty by working on our PHP based platforms.

    We'd also like to get our hands on a Front End Developer who has strong design skills.

    Sydney (Rozelle) - We need an up and coming star to help build on our existing Flex products and to take ownership of new projects. Strong design skills are a must. Skills and enthusiasm in microarchitectures (Cairngorm), custom AS3 components, states and transitions, AMFPHP and user interface design would be very desirable.

    Washington DC - Are you connected? We need a Business Development Director to help us capitalize on our DC area sales momentum. Can you help us develop clients and new strategic partnerships within the hallowed halls and corridors of Washington? If so, we need to talk.

    Learn more about these positions and how to apply at: www.enilsson.com/careers.



     

  • January 08, 2009

    Help, my AWS instance has fallen and it can't get up...

    Our first day back after the festive break was an eventful one! So as we eased back into working life our AWS instance, a nicely optimised Fedora AMI that was serving both our suite of Tegel hosted sites and as the core testing area for our new Struktor application platform, suddenly went silent!!

    While I thanked my lucky stars this didnt happen while I was stuffing my face over christmas dinner, or glued to the TV watching the Boxing Day Test I was none the less perplexed and a little lost.

    The symptoms were strange, the instance appeared to be running when we checked the ec2-describe-instances call but no matter what we did, either via HTTP, SSH or SFTP we couldnt raise it at all. So we checked further, and it appeared that all our S3 data and the Elastic Storage Block (EBS) data appeared to be intact (thanks jeebers for that!), but the EC2 instance was toast.

    So we raised the topic on the AWS EC2 forums and got a fairly quick response which was nice;

    Hi James,

    We are investigating a misbehaving network device that seems to be affecting connectivity to a small number of instances.  We are working to fix or replace that device.  You can relaunch your instance or wait and we should be able to restore connectivity.

    Regards,
    JoeJ

    Hmm, that is strange, well at least it wasnt something we did. As you can imagine we were mentally running through all the things we may have done to bork the server, so it was nice to hear we were in the clear.

    So after some more checking we decided the best course of action was indeed to rebuild the server onto a new instance, however this posed a few issues;

    • The running AMI could not be stopped, it hung in terminating mode indefinately
    • It proved difficult to unmount the storage block from the running AMI, unless we used the force option
    • We had neglected to institute Elastic IPs so the IP attached to this AMI was lost to us, meaning all our domains needed to be repointed to the new server.

    Once we realised what was involved, the disaster recovery proved relatively straightforward if however inconvenient.

    1. Instantiate a new instance of the AMI from the saved snapshot
    2. Mount the detached EBS onto the new server, and test the instance
    3. Grab yourself an Elastic IP if you dont have one already and assign the new instance to it (this article proved most useful)
    4. Make sure all your domains have the new IP address listed
    5. Test

    The beauty of the Elastic IP as we discovered is that if this were to happen again, we can simply assign that IP to a new instance and we can skip step 4, which can be a huge timesaver if you have a lot of domains with different registrars.

    A learning experience to be sure, but now we know the recovery should be pretty quick and painless!

  • January 06, 2009

    eNilsson pursues the non-violent overthrow of bad user interface design

    About a year and a half ago, Bill Higgins wrote a very interesting article about user interface design. In short, he says that products/programs should be developed to look like the platform in which they run on. So, says Bill, “a Windows application should look and feel like a Windows application, a Mac application should look and feel like a Mac application, and a web application should look and feel like a web application.” For Bill, if you don’t heed this warning then you will confuse your users because the application won’t feel natural.

    Bill, this is me disagreeing with you:

    Your average user has come a long way and is not made so easily uncomfortable by differing UIs anymore. Exhibit A: iTunes for Windows. Launched back in 2003, iTunes for the Windows platform maintains the same exact look, feel, and functionality as native OSX programs. In fact, it has become Apple’s flagship program (with the help of the iPod) and has been exciting young people with the Apple UI since its launch.

    And it doesn’t stop there. Exhibits B, C, and D: Fluid, Adobe Air, and Mozilla Prism. Fluid uses Site Specific Browsers (SSBs) to make web applications look like desktop applications. And Adobe Air is a cross-platform runtime environment for web applications, allowing developers (and sometimes the user) to bring a consistent UI to web applications regardless of the operating system. Mozilla Prism is yet another program bridging the divide between the Internet and the desktop in that it "focuses on how web apps can integrate into the desktop experience... also working to increase the capabilities of those apps by adding functionality to the Web itself, such as providing support for offline data storage and access to 3D graphics hardware." Plus Prism has the benefit of being built on our beloved Firefox - yes, that means support for HTML, JavaScript, CSS, and <canvas> on ANY operating system.

    And then there’s ElephantTrakker. eNilsson built ElephantTrakker in Flex to look and feel like a desktop application regardless of the environment. It has the rich feature set of a desktop application, and speed to match from its cloud data service, so the look and feel is a great complement. But is it confusing or uncomfortable? Quite the opposite. When it was first deployed to volunteer fundraisers for the Romney campaign it was embraced by all levels of computer users whom soon couldn't live without the program.  Perhaps eNilsson has taken advantage of working in an area where few standards have been established, so users have little to no expectations regarding UI.

    Whatever the explanation might be, it seems that the UI divide that Bill speaks of is shrinking despite his warnings. As more programs migrate to the cloud (announced today is that iWork is even moving to the cloud with iWork.com - in beta at the moment) and other programs focus on syncing data and functionality across multiple platforms (see the success of Evernote), users seem not only open to changing the way they interact with their information, they are relishing it.

  • December 23, 2008

    Online software a bright spot in a down economy

    The Wall Street Journal reported today that "online software, which businesses access over the Internet... is expected to gain attention since it can save money and help productivity."

    We've been preaching this for years! Even Larry Ellison (Oracle's CEO) who didn't think one could make money selling Software As A Service (SaaS) is now pushing Oracle into the SaaS pool.

    The 900 lb. gorillas have now decided that our market looks attractive. Microsoft too, is trying to swim in our pool by recently launching online services.

    Luckily the market is big enough for everyone. Now that the gorillas are on our own turf (or swim-club, to continue the analogy) we  have the opportunity to make the the gorillas cower before the creative might of eNilsson International llc.

    Have you ever seen a gorilla swim? It is not pretty.

  • December 14, 2008

    Boston office hammered by December 11th ice storm.

    Content ImageAs of this morning (Sunday 12/14), we still do not have power in our Boston office. Thursday night's ice storm knocked out power for over 1.25 million people.

    Luckily today the temperature should break 42° F / 6° C which will keep folks' pipes from freezing and it is only suppose to get down to 35° F / 2° C tonight which will make for a comparatively warm evening.

    The Sydney office has just checked in. They are reporting that it is sunny and 78° F / 24° C  and Raf is just back from a early morning surfing session. Somehow I think that there will be a flurry of transfer requests tomorrow.

    Content ImageIt is Monday the 15th in Sydney so apparently the ice storm has not affected the time change.

    Content Image2008 New England Ice Storm
    Wallpaper

    eNilsson wallpaper

    1024x640   1280x800   1440x900

    Boston Globe:
    As cleanup continues, 162K still waiting for power

     

     

     

     

     

     

     

     

  • December 05, 2008

    Is it time to start talking about the 2012 presidential election yet?

     

    Poll watchers, start your engines!

    Huckabee and Palin top early 2012 list

    CNN - Barack Obama is still more than six weeks from White House, and the next Iowa caucuses are more than three years away — so naturally, it’s time to start talking 2012, as a new national poll suggests that Sarah Palin and Mike Huckabee top the list of potential 2012 Republican presidential hopefuls...

    http://politicalticker.blogs.cnn.com/2008/12/05/huckabee-and-palin-top-early-2012-list/

  • December 05, 2008

    Free Beer experiment fails

    Back on November 14th we posted a blog entry to test the theory that the words "free beer" would  drive web traffic to the eNilsson blog.

    Our theory was based on the popularity of our "US Tax System - Explained With Beer" posting from 11/4. At the time, we were shocked by the number of visitors coming to eNilsson.com just for this posting. We figured that the word "beer" was the driving force here. What better way to test our theory then to add the magic word "free" to "beer" in a blog post?

    RESULTS

    After 21 days, here is what we found. The Free Beer blog posting was:

    1. 16th most popular content page based on page views
    2. 13th most popular landing page, only one page behind "US Tax System - Explained With Beer"


    CONCLUSION

    People like blog postings on beer. No supprises here but the beer postings are far less popular than most of the more eNilsson centric pages. This is good as our website is not a pub.

    All is well with the world.

  • December 01, 2008

    Having fun while respecting your customers

    I found the following label on the back of a door mat and it really got me thinking about how companies treat their customers. First the label:


    Important things you should know about your new doormat


    Warning:
    Do not use mat as a projectile. Sudden acceleration to dangerous speeds may cause injury. When using mat, follow directions: Put your right foot in, put your right foot out, put your right foot in and shake it all about. This mat is not designed to sustain gross weight exceeding 12,000 lbs. If mat begins to smoke, immediately seek shelter and cover head. Caution: If coffee spills on mat, assume that it is very hot. This mat is not intended to be used as a placemat. Small food particles trapped in fibers may attract rodents and other vermin. Do not glue mat to porous surfaces, such as pregnant women, pets and heavy machinery. When not in use, mat should be kept out of reach of children diagnosed with CFED (Compulsive Fiber Eating Disorder). Do not taunt mat. Failure to comply relieves the makers of this doormat, Simply Precious Home Decor, and its parent company, High Cotton, Inc, of any and all liability.



    My guess is that our lovely US product liability laws have forced High Cotton, Inc. to put a warning statement on their doormat which is a ludicrous requirement. Instead of caving in to "the Man" High Cotton, Inc. made the best of the situation by having some fun with their label. If my assumptions are wrong and High Cotton, Inc. created the label just for laughs, nice job!

    Will I buy another High Cotton, Inc. doormat based on the warm fuzzies brought on by reading the warning label... probably not. I will, however point out the label to friends, neighbors, associates and the occasional enemy whenever the opportunity rises.

    The upside of this witty warning label is that High Cotton, Inc., besides having a good time, is treating their customers with respect and affection.

    1. We as a company respect your intelligence and are not going to give you a stupid, "do not ingest this doormat" warning label.

    2. We care about you, our customer enough to give you what amounts to a "free prize" inside every doormat package.

    This is good business. A company can never go wrong respecting its customers and offering a free prize inside every product.

  • November 21, 2008

    eNilsson is still hiring and is even adding to the list

    That's right. In addition to our previously posted openings, eNilsson is now looking for a LAMP Developer for the Boston branch. Come wow us.

    Yet again, you can learn more at: http://www.enilsson.com/careers

    And if you think you are a strong candidate, contact us at jobs@enilsson.com.

  • November 18, 2008

    eNilsson is hiring developers. Help us fix the economy!

    Calling all developers, unlike everyone else, we are hiring.

    We need a shiny new LAMP developer for Sydney and 2 front end developers (one for Boston and one for Sydney).

    Learn more at: http://www.enilsson.com/careers

    If you think you are a strong candidate, contact us at jobs@enilsson.com.

  • November 14, 2008

    Free Beer!

    Free BeerQuick interesting Friday afternoon factoid: For those of you who are looking to build site traffic, the secret is to blog about beer.

    It was just brought to my attention that the "US Tax System - Explained With Beer" blog posting that went up last week is the 4th most popular landing page on enilsson.com during the past 30 days. I am not sure what all these people are looking for. We did not use the magic words, "Free Beer."

    I guess that next to sex, beer is the next best sales tool. Lets see how this blog item performs: free beer,  free beer, free beer, free beer, free beer, free beer, free beer, free beer!

    I will pull the stats on this posting in a week or two and let you know how "Free Beer" did as a traffic draw.

  • November 07, 2008

    Thank you Michael Crichton

    The passing of Michael Crichton this week brings to mind his great work of bringing scientific thought to the masses. His belief that the "work of science has nothing whatever to do with consensus" strikes me as something our media infested world forgets.

    "Consensus is the business of politics. Science, on the contrary, requires only one investigator who happens to be right..."

    I guess Crichton really speaks to the contrarian in me.

    "Nobody believes a weather prediction twelve hours ahead. Now we're asked to believe a prediction that goes out 100 years into the future? And make financial investments based on that prediction? Has everybody lost their minds?"

    Keep this thought in mind next time you read a hysterical article about global warming. Yes our climate is changing, but how is it changing and why?

    As you answer these questions to your self, ask your self, are you sure, and why are you so sure.

    Thank you Michael for bringing out the scientist in all of us.

    [These quotes are taken from a lecture delivered by the late Michael Crichton at the California Institute of Technology on January 17, 2003]

  • November 04, 2008

    US Tax System - Explained With Beer

    Following is a fantastic email that is making the rounds this Election Day. I don't know if the math works out correctly but it makes for a great story.


     

    Begin forwarded message:

    Classic Red Stripe AdFrom: XXXXX
    Date: November 4, 2008 11:39:46  EST
    To: XXXXX@enilsson.com
    Subject: Taxes explained with beer................

    Suppose that every day, ten men go out for beer and the bill for all ten comes to $100. If they paid their bill the way we pay our taxes, it would go something like this:

    The first four men (the poorest) would pay nothing.
    The fifth would pay $1.
    The sixth would pay $3.
    The seventh would pay $7.
    The eighth would pay $12.
    The ninth would pay $18.
    The tenth man (the richest) would pay $59.

    So, that's what they decided to do.

    The ten men drank in the bar every day and seemed quite happy with the arrangement, until one day, the owner threw them a curve. 'Since you are all such good customers,' he said, 'I'm going to reduce the cost of your daily beer by $20. 'Drinks for the ten now cost just $80.

    The group still wanted to pay their bill the way we pay our taxes so the first four men were unaffected. They would still drink for free.

    But what about the other six men - the paying customers? How could they divide the $20 windfall so that everyone would get his 'fair share?'

    They realized that $20 divided by six is $3.33. But if they subtracted that from everybody's share, then the fifth man and the sixth man would each end up being paid to drink his beer. So, the bar owner suggested that it would be fair to reduce each man's bill by roughly the same amount, and he proceeded to work out the amounts each should pay.

    And so:

    The fifth man, like the first four, now paid nothing (100% savings).
    The sixth now paid $2 instead of $3 (33%savings).
    The seventh now pay $5 instead of $7 (28%savings).
    The eighth now paid $9 instead of $12 ( 25% savings).
    The ninth now paid $14 instead of $18 ( 22% savings).
    The tenth now paid $49 instead of $59 (16% savings).

    Each of the six was better off than before. And the first four continued to drink for free. But once outside the restaurant, the men began to compare their savings.

    'I only got a dollar out of the $20, 'declared the sixth man. He pointed to the tenth man,' but he got $10!'

    Yeah, that's right,' exclaimed the fifth man. 'I only saved a dollar, too. It's unfair that he got ten times more than I!'

    'That's true!!' shouted the seventh man. 'Why should he get $10 back when I got only two? The wealthy get all the breaks!'

    'Wait a minute,' yelled the first four men in unison. 'We didn't get anything at all. The system exploits the poor!'

    The "friendliest" pub in East London The nine men surrounded the tenth and beat him up.

    The next night the tenth man didn't show up for drinks, so the nine sat down and had beers without him. But when it came time to pay the bill, they discovered something important. They didn't have enough money between all of them for even half of the bill!

    And that, boys and girls, journalists and college professors, is how our tax system works. The people who pay the highest taxes get the most benefit from a tax reduction. Tax them too much, attack them for being wealthy, and they just may not show up anymore. In fact, they might start drinking overseas where the atmosphere is somewhat friendlier.

  • October 07, 2008

    FlexBuilder update to 3.1 SDK

    Hopefully this little nugget will help someone, cause I sure wish I had known this a little earlier...

    Yesterday I upgraded my Flex Builder with the Adobe Update manager to include the new 3.1 SDK and it led to some very strange behaviour. Basically the software stopped compiling on save and I had no idea why. This was on top of some other errors that manifested before that where Flex Builder was seeing errors on commented lines of code...

    So after some frustrating time trying to work out what the hell was wrong, I finally stumbled upon this...

     

    flex update

     

    The update some how turned off the auto compile feature!! Wow did that raise my stress levels, in a week where our new product needed to be ready for a show and tell I spent more than a few hours struggling to get my main dev tool running. Awesome!

    Hopefully someone will find that useful!

  • October 07, 2008

    Will Obama's iPhone App translate into votes?

    Content Image
    Mike Nobil gives the Obama iPhone app a test drive
    We are kicking the tires of the Obama iPhone App this week. The application is interesting in many ways but what will its true impact be?

    First the numbers:

    • 14.000,000 iPhones will be sold by end of 2008 (Goldman Sachs)
    • 4,183 active Obama iPhone users (according to our Obama app)
    • 19,021 calls have been made on the iPhone app to talk about Obama (again, according to the app)
    • 100 calls have been made by the "Top Caller" for Obama (everyone loves a high-score)

     

    The other features of the Obama app include:
    1. the location of the closest local Obama HQ to the iPhone
    2. ability to sign up for email and SMS campaign updates
    3. local and national campaign news feeds
    4. campaign events in your area (which seems pretty geographically broad as I wouldn't drive to Cape Cod for a event)
    5. campaign videos and photos
    6. talking points for Obama's position on about 24 issues
    7. a "donate now" button that automatically calls the donation hotline

    Except for the phone-banking features, most of these features are included on all but the most rudimentary campaign websites.

    My big question is, what sort of information is the Obama application collecting from my iPhone? Is it capturing names and phone numbers of those people you call? Is it raiding my address book? The application doesn't have any privacy information which really scares me!

    IMPACT
    In terms of a campaign's view of the world, their goals are to capture
    1. supporter contact info
    2. volunteers,
    3. donations,
    4. good press, and
    5. votes.

    In terms of #1, depending on the privacy features of the app, it may be great at stealing all your contacts and adding them to the Obama database.  I have yet to find a privacy policy on the app that tells me if it is or isn't doing such a thing.

    Regarding volunteers, hey I downloaded this tool, I must there for want to volunteer to make calls. I give it a thumbs up for #2.

    Political donations...  If someone is willing to make calls for Obama then, I would have to assume that they have already donated via other means. If anyone has data on donations made by iPhone, I would love to hear about it.

    Number 4 is a slam dunk, the press loves the confluence of "mobile gadgets" and politics. I bet there have been thousands of articles about political organizations leveraging the power of phone texting. I can't imagine how political texting has garnered a single vote but the press eats it up. They are going to love this app.

    Lastly, voting is were the rubber hits the road for campaigns. Will all these Obama supporters actually vote? If the iPhone app developers were smart, this app should turn into one big get-out-the-vote tool on election day. It should notify the user of the closest polling station, it should give the users repeated reminders to "vote now!" and it should provide a steady stream of election day news.

    Election day could be the greatest opportunity for this application. From my own political views, I hope the Obama development team didn't think this far ahead.

  • October 02, 2008

    How not to market a product 101

    In today's Advertising Age, Al Ries writes a great article on how many marketers focus too much on a product rather than the consumers' perception of the product in the market as a whole.  Ries refers this broad approach as an "holistic" approach gives some great examples that really got me thinking about our own approaches to products:

    Tiger Woods
    Do you really think a guy who made $115 million last year drives a Buick? Based on the fact that Buick's sales have dropped each of the past five years, my bet is that you think Tiger probably drives a Merc, a Cadillac, or probably a Bentley. Great spokes person, wrong product for him.

    Coca-Cola
    Coke gives you a big refreshing punch of sugar and caffeine. Diet Coke gives you no calories but makes you think you are getting a big refreshing punch. Coke C2 gives you... what? I'm not sure, and based on sales, nor are you.

    Red Bull
    Do Red Bull drinkers care about calories? Doesn't "energy drink" stand for "massive dose of calories" (i.e. sugar)? That's the reason Red Bull sold in small cans, because its syrup and caffeine, right? So what do you think the market demand is for Sugar-Free Red Bull? And for the not so swift consumers out there, humm, if there is a sugar-free Red Bull, how much sugar is there in regular Red Bull? Hey, this stuff isn't so healthy.

    Campbell's Soup
    Same problem here, if there is a Low Sodium soup, then the regular soup must contain an entire salt-lick. If there is a "chunky soup" then the regular soup must be thin. Mmmm mmm good, thin soup.

    Charmin
    We have the softest toilet paper. "Squeezably soft," remember. Oh wait, we lied, that regular stuff isn't so soft so we created "ultra soft." What's next, super ultra soft?

    TAKE-AWAYS
    Really think about your entire market or product line when you do a line extension. Are your spokes people or reference cases credible? Does your new product fit a customer need in you product line, or does it just cast doubt on the strength of your your old product.

    Again, what a great article.

  • September 22, 2008

    Humor Sells Laboratory Equipement?

    Content ImageI can't say that I've thought about pipetting since my sophomore year of college but Eppendorf's foray into the music video world has definitely changed my view of what goes on in a laboratory.



    Pipetting all those well-plates, baby, sends your thumbs into overdrive
    And spending long nights in the lab makes it hard for your love to thrive

    What you need is automation,  girl, something easy as 1 2 3
    So put down that pipette, honey, I got something that will set you free

     

    Is this how a company sells laboratory instruments and consumables for the life sciences? Eppendorf AG (Hamburg Germany) seems to think so.

    Eppendorf created a funny "boy band" music video to promote it's automated pipetting machine. My understanding is that this video is enthusiastically making the rounds among lab jocks and university PhD denizens.

    The question is, will the video help sell laboratory equipment? My guess is yes. Eppendorf is now the first (and only) name I think of when I think "highest quality laboratory instruments and consumables for the life sciences," but... I am not their target market.

    I will have to have an intern give the Eppendorf marketing department a call and see if they have seen any increases in interest in their auto pipetting robot. How many "epMotion" machines do you have to sell to pay for the video and website?


    Kudos to the lyricists, this is a great rap:

    DNA
    RNA
    Proteins
    Cell Cultures
    Less reagents
    Faster workflow
    Saves you money
    Well, well, well


    Note that Eppendor also allows you to download MP3 versions of the song or ring tones. I would be very interested in seeing those download stats.


    I wonder if you can use epMotion to make cocktails? If so, it would be the coolest kitchen appliance known to man.

  • September 01, 2008

    Protestors or Terrorists

    Content ImageI think the protestors have lost their minds. I am sitting on a Republican Convention bus full of elderly delegates from Florida and Washington State on our way to the first day of the RNC Convention.

    While exiting Interstate 94, a large object was dropped on our bus as we passed under a bridge. This could have been a major catastrophe had the object gone through the roof of the bus or struck the windshield.

    The police have just come off the roof and the object was a 30 lb sand bag.

    How would injuring or killing elderly delegates help the public opinion for any cause?  Another wonderful example of vandals behaving poorly under the guise of "protesting."

  • July 05, 2008

    "McCain Campaign, in Relaunch, Seeks Tighter Message Focus" - Wall Street Journal

    According to today's WSJ, "The McCain campaign will also rely more heavily on surrogates for the candidate, a technique they say they have used ineffectively in the past. To keep control on the message, ads will carefully brief surrogates on specific talking points and then deploy them to reinforce Sen. McCain's message."

    This is very exciting for eNilsson as the McCain campaign has had us make a few major adjustments to the Elephant Scheduler which will help the campaign with their new strategy.

    The first feature is that we can now track all campaign events, surrogates and event proposals based on the media markets in which they take place. This allows the campaign to make sure they have either target states or major markets covered at all times.

    The other great new feature, which is key for the McCain campaign, is that campaign aids can now attach custom talking points to individual events, or to specific surrogates. These talking points are automatically included in each surrogate's briefing book.

    With these two new features, it will be infinitely easier to get the right surrogate into the right place with the right message meeting campaign strategist Charlie Black's demand for "more surrogates, more appearances, more air time."

  • June 15, 2008

    Amazon Web Services - EC2 AWS

    So we decided to test Amazons Web Services – mainly their elastic compute cloud or “EC2” – Its pretty straight forward to setup although it can be somewhat tedious especially with the bundling, uploading, registering and relaunching to make a change to the server. Having said that EC2 has proved a useful base on which to install subversion and a plethora of other server applications such as sphinx search (see my other post), apache and mySQL. Having root access to the machine also gives us greater control on the server settings and allows us to do things such as converting word documents to pdf and experiment with some new software.

    There are some drawbacks – mainly that the instances are non persistent and the IP addresses of the machines are dynamic – but if you can work round these by using dyndns and writing some bash script to save your settings and files to Amazons “S3”  you end up with a reasonable system that seems pretty stable.

    Currently you don’t have much of a choice when it comes to the location of your servers - It’d be nice to see some servers in different countries other than the US – somewhere in Asia would be nice. The ping time from Sydney to the East Coast is about 255ms, which is pretty poor and means when we view websites on EC2 they tend to be a little un-responsive.

    It’s got to be said that EC2 would defiantly benefit from persistent storage (which is now in its beta stage) as well as static IP addresses. This would make setting up and maintaining EC2 much simpler. Persistent storage at least is in Amazons pipeline and you would presume that static IP addresses would follow. Weather Amazon will eventually make servers available in different countries remains to be seen – I’m somewhat doubtful.

  • June 03, 2008

    Don't be a bad client - Part II

    I have some good news and some bad news.

    First the good news, we have found a consistent tool for turning bad clients into good clients, AND, more importantly, reducing the risk of having a new client go bad. (see my February 29th post)

    Now the bad news, the tool is a contract with lots of fine print... boo.

    In our decade of providing services, we've prided ourselves on our simple, plan-english contracts. Clients loved them for the uncomplicated and easy reading. We loved them because clients quickly signed the simple contracts. No need to  "run the contract by legal."

    Unfortunately a few clients took advantage (usually unintentionally)  of our "friendly" contracts.  The communication breakdown was typically when a client demanded total control of a project and requested innumerable unnecessary changes.

    We have experimented with all kinds of tools to control these "bad clients." We've tried weekly client meetings, client intranets, timely project management reports, weekly invoices with time-sheets, you name it. Most of these tools create more work for us and the "bad client" continued their excessively demanding behavior.

    Finally, after falling into a endless project that looked like it would never see the light of day, we managed to get a difficult client to agree to a very detailed contract. This contract specified every aspect of our client/vendor relationship.

    It was a very painful process from both the word-smithing side and the "gee, this goes against everything eNilsson stands for" side, but... in the end both parties are much happier. The client knows their boundries and, most importantly, the contract makes it very clear when a client request is going to take the client off the agreed upon budget.

    With this ridged relationship structure, everyone is happier and can focus on the work rather than "project management issues." We've found that a byproduct is that creativity actually increases.

    My good news/bad news story has a very happy ending.

    Part I

  • June 02, 2008

    More is not always more

    Remember that when it comes to software development, more is not always more. My appologies for the trite Apple/Microsoft comparison but Windows Vista is a great example of more not being more. Steve Jobs gets it:

     

    "I know you have a thousand ideas for all the cool features iTunes could have. So do we. But we don't want a thousand features... Innovation is not about saying yes to everything. It's about saying NO to all but the most crucial features."
    - Steve Jobs

     

    Focus your development list on the most critical features and your software will come in on time and on budget.

  • April 16, 2008

    Flex Charts

    The charts are thethe most useful and easy thing I find in flex.

    I've just been requested to create an application that should generate some charts for a reporting tool we are developing for one of our clients.

    It is very simple, nothing really fancy but it does the job. The goal is to control the chart and some of its option from the XML side. So whenever we need to use charts we just plug the swf file we generate from our component and voila.

    Right now it supports BarChart, ColumnChart, LineChart, AreaChart and PieChart.  

     

     

     

     As far as the XML, I tried to use a similar structure for all of them.

    They have 2 main nodes, options and item, where options is some of the options you can set from the xml side while item contain the real information used on the graphs.

    Let's get one of those xml, the bar chart, and analyze:

    <enilsson type="bar">
    <options>
    <title>Bar Data Chart</title>
    <verticalAxis>Month</verticalAxis>
    <horizontalAxis>Amount</horizontalAxis>
    </options>
    <item yfield="Jan">
    <Profit>2000</Profit>
    <Expenses>1500</Expenses>
    <Amount>450</Amount>
    </item>
    <item yfield="Fev">
    <Profit>1000</Profit>
    <Expenses>200</Expenses>
    <Amount>600</Amount>
    </item>
    <item yfield="Mar">
    <Profit>1500</Profit>
    <Expenses>500</Expenses>
    <Amount>300</Amount>
    </item>
    <item yfield="Abr">
    <Profit>1800</Profit>
    <Expenses>1200</Expenses>
    <Amount>900</Amount>
    </item>
    <item yfield="May">
    <Profit>2400</Profit>
    <Expenses>575</Expenses>
    <Amount>500</Amount>
    </item>
    </enilsson>


    The first node contains the options

    <options>
    <title>Bar Data Chart</title>
    <verticalAxis>Month</verticalAxis>
    <horizontalAxis>Amount</horizontalAxis>
    </options>


    title
    : The title it will display in the header
    verticalAxis: The information it will display vertically
    horizontalAxis: The title it will display horizontally

    The following nodes contains the chart info

    <item>
    <Profit>2400</Profit>
    <Expenses>575</Expenses>
    <Amount>500</Amount>
    </item>


    yfield
    : The information that goes to the yfield.

    Inside the item node, there is what we call series. Every node inside the item will be displayed as a series or, in this case, as a bar.

    And last but not least, the most important is to tell what chart you want it to display. And you do this setting the "type" attribute in the root tag. The options are, so far, pie, bar, column, area, line.

    <enilsson type="bar">

    View-source is enable for this component.

  • April 01, 2008

    Globalization is Old News - Part 2

    Funny how just hours after posting my last blog entry, two news items hit my desk that directly relate to it (so I will now re-title my first entry Globalization is Old News - Part 1).

    The first item is the fact that Ireland's annual GNP growth rate is projected to fall to 1.6% for '08 verses its average rate of 6.5% from the period of '96 to '06.

    The cause for this growth free-fall is attributed to the euro's growth when compaired to the dollar and the pound. Ireland is no longer the low cost manufacturing center for Europe. Remember that during the 1980s Ireland was still considered a "second world" country. They were an amazing "miracle" during the '90s and early '00s. Now globalization is going to force Ireland to become more efficiant as they can no longer depend on their low-cost workers.

    Surprise, China is the second country that is feeling the competitive pressure of globalization. According to Booz Allen Hamilton & the American Chamber of Commerce in Shanghai, the costs of workers in China is sky rocketing. Check out the 2007 average one year price increase for the following:

    • Management:     9.1%
    • Support-staff:    10.3%
    • Blue-collar:         7.6%
    • Raw materials:    7.1%


    What happens when China can't compete on their low-cost work force alone. Will India, Pakistan, or South Africa eat their lunch? The US has already gone through this painful learning expreince. It will be interesting to see how China copes with these unfamiliar competitive pressures.

  • April 01, 2008

    Globalization is Old News - Part 1

    I had a couple meetings last week that focused on economic globalization. One meeting was with a political action committee who wanted to draw attention to the positives affects of globalization. The second meeting was with a major US foundation that is funding globalization research.

    What has occurred to me is that the globalization discussion/argument/battle is long over.

    As we all know, globalization has created winners and losers (and I mean "loser" in a strictly economic manner). The only reason the globalization discussion is still a political "discussion" because some of the losers are just discovering that they received the short end of the stick.

    I was a globalization loser. In a past career life, I was employed by my family business which made very good revenues in the fastener industry. The fasteners in which we dealt were the bolts, screws and rivets that hold together cars, trucks, appliances and toys.

    Along came Taiwan, then China. With a quick one-two punch, our 50 year old business was no longer viable. "Off-shore" manufacturers were selling fasteners that were priced lower than our raw materials. We were globalization road-kill. Just to put the final nails in the coffin, the majority of the car, truck, appliance and toy industries went off-shore too.

    I was a globalization loser: wrong industry in the wrong country.

    Don't shed a tear for me. As all economists will tell you, populations will always move towards more lucrative occupations. Why else is the US so good at turning out investment bankers? I saw a new opportunity for my career and established eNilsson. eNilsson now has clients on 5 continents and employees from 4 continents. Being global certainly mitigates my risk. Being an economic loser is a great education.

    So if globalization is a done deal, why is it still a current topic and one that will probably get a lot of airplay this election season?

    1. Because a large number of our economic losers have not come to terms with the fact that the tasks that make up their occupations can be completed cheaper and, dare I say it, better in a different country.
    2. Artificial trade barriers are continuing to fall as economically weaker counters are gaining trade traction. This means that poorer countries are going to be positioned to compete more easy for low-skilled jobs. This competition for low-skilled jobs means that countries like China are going go move up the economic food chain and compete with the US for higher skilled jobs, thus affecting a new segment of the US population. A new group of US economic winners will move to the loser column.


    The big take-away from this dynamic economic world is:
     

    • globalization is here to stay,
    • economic losers make more noise than economic winners,
    • people who are economically hurting are more easily manipulated than financially successful individuals (just ask Hitler).


    Lets not let pandering to, or manipulate our economically fearful workforce. We need to give them the tools to take part in all the new and interesting global oportunities.

    Conversely, lets not let the economically fearful strong arm us into making bad economic decisions. Closed markets always fail.

  • March 27, 2008

    PhotoShop Express Public Beta

    I just read that Adobe has launched Photoshop Express, a Flex based web application

    I've signed up and tested for a while. Although sometimes its behaved slowly (we are talking about a web "photoshop" so it's understandable) it seems to be a very powerful tool.

    It allows you to store up to 2GB of images online for free as well as edit them and share them online.

    I'm very glad that Flex is progressing to higher stantards and creating amazing web tools.

    What will come next?

  • March 05, 2008

    IE6 PNG Transparency Fix

    Sometimes we get designs that require us to use transparency. What I personally don't see any problem unless you have to worry about IE 6.

    In our case, we try to make our website as much cross-browser as possible which put us in the position to make those transparencies work also on IE 6.

    I googled it and I found a few solution that could fix my problem. Some of them very smart, like Dean Edwards that developed a javascript library to MSIE behave as standards-compliant browser.

    But my problem was simple this time. Than, I found a post on Bioneural  that gave me a pretty simple idea to fix it.

    All I had to do to was:

     

    <!--[if lte IE 6]-->
    <style>
    #myImageID{
       filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true',src='http://www.domain.com/images/myimage.png');
    padding-top: 115px;
    }
    </style>
    <![endif]-->
    

     

    That's it! Simple and easy!

  • March 04, 2008

    Flex Builder 3 Licenses

    I have been following Flexcoder's list for a while as I have mentioned here a couple of times. Time to time I read a few comments about people having trouble with licensing Flex.

     If you are one of them, please visit the links below:

     

    (via Igor Costa)

  • March 03, 2008

    Flajax

    Lately, I have been working on this new version of our CMS which requires an interaction with Flex and Javascript, also includes some AJAX calls.

    I found out the ExternalInterface class very useful and simple to work with.

    If you want to make a call to a javascript function:

    In Flex:

    import flash.external.ExternalInterface;
    
    function sendToJavscript():void {
    	ExternalInterface.call("testingFlexCall","parameter1", "parameter2", "parameter3");
    }
    

     

    In javascript:

    function testingFlexCall(param1, param2, param3) {
    	alert('Param1: ' + param1 + '\nParam2: ' + param2 + '\nParam3: ' + param3)
    	
    	// Or You could use some AJAX call in this function.
    
    	new Ajax.Request('http://www.yourdomain.com/foo.php', {
    					method: 'post',
    					postBody: 'param1='+param1+'&param2='+param2+'&param3='+param3,
    					onComplete: function(tl) {		
    						alert(tl.responseText)
    					}
    				});
    
    	// note: new Ajax.Request is a Prototype function.
    }
    

     

    Or you could do the reverse, making the javascript calling a function inside your flex application.

    In Flex:

    import flash.external.ExternalInterface;
    
    private function init():void {
    	// Associate the functions between javascript and flex
    	ExternalInterface..addCallback("sendToActionscript",flexFunction); 
    }
    
    private function flexFunction(param1:Number, param2:Number):void {
    	Alert.show('The numbers choosen are: ' + param1 + ' and ' + param2);
    }
    

     

    In javascript:

    function sendthistoFlex() {
    	document.getElementById('myFlashID').sendToActionscript(10,20);
    }
    

     

    Because of its limitations, Adobe created FABridge.

    Dave Johnson wrote an application that makes use of the FABridge and show how good "Flajax" can be. Not just good but also useful.

    "Flex™ AJAX Bridge (FABridge) is a small, unobtrusive code library that you can insert into an Adobe® Flex™ application, a Flex component, or even an empty SWF file to expose it to scripting in the browser."

    If you are wondering what should you use on your project, Adobe give you three situations you could use FABridge:

    • You want to use a rich Flex component in an AJAX application but do not want to write a lot of Flex code. If you wrap the component in a FABridge-enabled stub application, you can script it entirely from JavaScript, including using eval()’d JavaScript generated remotely by the server.
    • You have only one or two people on your team who know Flex. Although I would strongly encourage everyone to grab a copy of Flex and try it out (you will love it, I promise!), the FABridge library lets everyone on your team use the work produced by one or two Flex specialists.
    • You are building an integrated rich Internet application (RIA) with both Flex and AJAX portions. While you could build the integration yourself using ExternalInterface, you might find it faster to start with the FABridge as a head start.

    Either way, it is just a matter of what scenario you are working with. :)

  • February 29, 2008

    Don't be a bad client - Part I

    I read an interesting definition of a “bad client” in “Why Johnny Can’t Brand” by Bill Schley and Carl Nichols Jr.

    The boys state that there is such thing as a bad client  and I realize that there are some who disagree with this comment completely. If I may paraphrase, they define a bad client as one who:

    • hires excellent professional creative people,
    • demands total control of a project
    • limits the hired professionals' free rein, and
    • makes far too many unnecessary changes.

    The result of this "bad client" behavior is that it stifles a firms' ability to hit its creative stride.

    The firm ends up simply regurgitating what the client wants so they can get approval rather than adding the special sauce which they are capable of providing. In reality, the special sauce is usally why the client hired the firm in the first place.

    Now that we've defined a bad client, the real trick is how do you turn a bad client into a good client. How do you get the bad client to relax and loosen up the reins. Let me ponder this one for a few days and I will see if I can come up with some bad client to good client conversion steps.

    Part II

  • February 26, 2008

    Flash x HTTPS

    I'm building a Flash application that will run on a https server.

    Everything was working fine on my localhost until i uploaded it and test it. On Firefox i had no problem whatsoever but on the other hand i had this error message on IE, either 6 and 7, where says: Operation Aborted

    I googled it and found little about this error but what i found put me on the right path.

    If you have the same problem try one (or both) of the following suggestions:

    1. Upload a crossdomain.xml file to your https server

      <cross-domain-policy>
           <allow-access-from domain="*"/>
      </cross-domain-policy>
      
    2. Insert the above lines on your actionscript file:

      System.security.allowInsecureDomain("www.yourdomain.com")
      System.security.allowDomain("www.yourdomain.com")
      

     

    I used both solutions and seems to be working just fine now.

  • February 25, 2008

    Flex 3

    This is just a brief note to let you know about the new Flex 3 that adobe has release today. I haven't put my hands on the new version as i've been working on a beta version but i read some really good reviews.

    If you are new on Flex its highly recommended to visit Flex Examples which has been very helpful. And if you have any question, Flexcoders is definitively the right place to get help.

     

  • February 25, 2008

    Flex security.... the PHP way!

    So one of the things we were concerned about when we first started delving into Flex was how do we accurately secure a client side app? The standard model of your garden variety vanilla server side PHP/HTML app was a well known security blanket (if you will pardon the pun).

    With that in mind we set out to replicate that sort of idea with Flex and Codeigniter. Our authentication routines built on Codeigniter are tried and tested and it seemed a shame to throw them out just cause we decided to go to web 8.0 with Flex.

    The core of this idea is that we focus most of our application development with Flex on modules. This mimics to some degree the format of HTML apps in that you can have a main Application.mxml file that houses all the layout, css and template and then the business end of the stick is in each of the modules. So something like this;

    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
    	<mx:Canvas id="container">
    		<mx:ModuleLoader id="content" />
    	</mx:Canvas>
    </mx:Application>
    

     

    Now getting back to the security the most worrying thing about the whole client side app stuff was having the code sit in the publically accessible webroot of the application. So to sidestep this we decided to serve the content via PHP proxy pages that could be authenticated. Kinda like this...

    <?php
    class Flex extends Controller {
    
    	function Flex()
    	{
    		parent::Controller();
    		$this->super_awesome_security->door_bitch();	
    	}
    	
    	function application()
    	{
    		$name	= $this->uri->segment(3); 
    
    		header("Content-Disposition: filename={$name};");
    		header("Content-Type: application/x-shockwave-flash");
    		header('Content-Transfer-Encoding: binary');
    		header('Last-Modified: '.gmdate('D, d M Y H:i:s', time()).' GMT');
    
    		echo file_get_contents(APPPATH . "views/flex_application/$name");
    	}
    	
    ?>


    Anyway seems to be a useful solution for us anyway.....

  • February 21, 2008

    Mike Nobil, previously Mitt Romney's Fundraising Systems Manager, joins eNilsson

    Mike Nobil has made the uncommon jump from client to agency. Mike recently joined eNilsson upon the completion of the Mitt Romney for President campaign bringing his unique experience of eNilsson from the point of view of the client.

    At the Romney campaign Mike acted as the Fundraising Systems Manager for Mitt Romney’s record setting fundraising activities. Mike juggled multiple vendors, the needs of 500 fundraising staffers & volunteers, and 9,000 system users to help the Romney Campaign become the most successful Republican fundraising organization in history.

    Mike was able to bring all these projects to completion even under the adverse environment of the modern political organization and its constant shifting of priorities.

    eNilsson recognizes talent when we see it. Mike will act as a Project Manager and now be able to beat on our development team from the inside.  Mike is a graduate of the University of Massachusetts at Amherst and works from our Boston office.

  • February 19, 2008

    The Fulltext search is dead. Long live the Sphinxsearch.

    If you’ve ever played about with mySQL fulltext search you’ll notice that as soon as you put any reasonable amount of data into a table and build the index you start hit a number of problems which only grow as the volume and complexity of data increases.

    You might have seen this message before when you try to make a fulltext index

    Error: Too many key parts specified; max 16 allowed.

    This is because mySQL can’t index more than 16 different columns.

    There are solutions; for example you could have 2 fulltext indexes… but if you’ve seen the size of the fulltext index mySQL creates you’ll know that their frequently huge, slow and if they weren’t set up when the data was initially inserted could take forever to build.

    Sphinx search is an indexing tool that sits outside of mySQL. Capable of indexing vast quantities of data exceptionally quickly (up to 10mb/sec) while being able to search upwards of 1GB of data in less time than it takes a cheetah on crack to run 20cm. If that’s still not fast enough sphinx has inbuilt distributed search capabilities to improve latency and throughput meaning you could utilize a whole bunch of servers to do your searching for you.

    Sphinx also offers some refreshing options, like that of word stemming (in both Russian and English) and stop word lists (which could even be different for each group of documents or tables if you want). It also offers the standard minimum and maximum word length as well as a myriad of other features such as the ability to easily rank the importance of fields – for example giving the title of a document more weight than its content.

    Sphinx runs as a daemon and handles any requests sent to it via its PHP API (which also supports Python, Perl and Ruby), its indexer, aptly named indexer works its way through your configuration file reading in mySQL queries and generating indexes for the daemon to use. When you present a search query to Sphinx it sends back a list of documents that match your query ranked from best to worst, it can even return the entire set of documents if you want.

    Unlike with the passive updating we see with mySQL, updating the search indexes in Sphinx is a case of re-running the indexer on the changed db - yeah – I know what your thinking. It can be slow; especially if you have upwards of 1GB of data – luckily Sphinxsearch provides the “main + delta” method to get over this where by it has an index of old records that it rarely updates but frequently updates the “delta” index with the new records. 

    Vastly out performing mySQL’s native search Sphinx is great solution if you’re coming up against the limitations of a painfully slow fulltext query. Sphinx isn’t great for everything and
    Fulltext searching will always have its place in the realms of tiny databases and the odd query but as far as I’m concerned, when it comes to a database of any substantial size fulltext search may as well be dead.

  • February 17, 2008

    Tip of the Week

    As a Firefox lover i'm going to be a little biased in talking about this tip. Actually, it goes beyond firefox because you can also install on IE or Safari.

    I'm talking about PicLens.

    This incredible software impress me everytime i use it, not just for being fancy, usefull and powerful but also for supporting most images related websites, like Flickr, Google Images, Yahoo Images, Picasa, and much more...

    "PicLens instantly transforms your browser into a full-screen, 3D experience for viewing images on the web. Photos will come to life via a cinematic presentation that goes well beyond the confines of the traditional browser window. With PicLens, browsing and viewing images on the web will never be the same again."

    Better yet, it's free and does not contain any adware or spyware.

    Can't beat that.

  • February 17, 2008

    Blackberry vs Labrador Puppy

    Puppy chewed blackberryIt only took 5 minutes for Otto, our 6 month old yellow lab puppy, to bring my cellular communications to a full stop today. My Blackberry now looks like a prop for the Starwars Rebel Forces.

    It is almost as good looking as my old Nokia that I ran over with my lawn mower and then left out over night in the rain, except that with the help of a little electrical tape, that Nokia was (may still be)  fully functional. The only problem was the occasional sliver of plastic in bedded in my cheek. This blackberry is now a paper weight with a flashing green light.

    Remember when phone were big, black and always worked? No, not those 1990's cellular bricks,  I am talking about the big black phones with rotary dials.  There was no way a six month old puppy could hurt them. Even the curly, always tangled, cords were chew resistant.

    In our quest to make everything smaller, are we in fact making everything more disposable?

    I am going to go out and pick up an iPhone today. I used my rotary phone for 15 years. I wonder how long it will be before I drop my iPhone in a puddle, sit on it, leave it in an airport, etc, and have to buy yet another phone?

« FirstPrevious 1 2 3 4 5 6 7Next