Posts Tagged: programming

Qt Developer Days 2012, The Santa Clara Edition

Qt Developer Days 2012 : ICS's Peter Winston kicking the conf off Qt Developer Days 2012 : Checking Twitter in between speakers Qt Developer Days 2012 :  Digia's Tommi Laitinen's Keynote Qt Developer Days 2012 :  Lars Knoll's Keynote Qt Developer Days 2012 :  The Qt Dev Days Welcome Sign Qt Developer Days 2012 :  Lars Knoll and David Greaves at the coffee break Qt Developer Days 2012 :  Ash Nazir giving a BlackBerry 10 demo Qt Developer Days 2012 : Jens Bache-Wiig presenting on QML Desktop Components Qt Developer Days 2012 : Talking with John Deere's Hank Miller about tractor display UX Qt Developer Days 2012 : Dinner at Pedro's Qt Developer Days 2012 : Dinner with a great group of developers Qt Developer Days 2012 : Mock fight between David and Ash at the dinner table Qt Developer Days 2012 : Goodbye Santa Clara, it was fun...

All photos taken at Qt Dev Days 2012 by Ms. Jen with her Nokia 808 PureView.

Sat 12.08.12 – Here are my notes from the Qt Developer Days 2012 conference in Santa Clara, Calif. Per my usual, the notes are a running transcription and paraphrase of the speaker’s slides and spoken words plus my own opinions on the session. Official session slides and videos will be up at the conf website soon.
Once again, I am very glad that I went to the Qt Developer Days and was very encouraged by Digia’s commitment to continuing Qt development as well as the strong community support for not just the desktop and embedded linux sides of Qt but also Mobile. It was very good to see the Jolla Mobile, BlackBerry’s Cascades, and Mer Project mobile Qt presentations, as well as the ongoing strength of the open source, community contributed Qt Project.
Go Qt, Go!
Qt Developer Days 2012
Santa Clara Marriott
Thurs 12/6/12
9am – noon
I tweeted the keynotes, didn’t take notes. Here are my tweets:


DIY Mobile Programming: Get Started with HTML, CSS, and Javascript

“If you can build your app with HTML, CSS & JavaScript, then you probably should.” – @jonathanstark #wdx (via @garazi)

Some friends recently asked on Twitter what was the best way to start programming mobile apps with Nokia’s Qt, as they found that it was not as easy as the publicity from Nokia had purported Qt to be.

I replied: “When devs say a ‘framework’ is “easy” it is code for “It won’t take 15 months of 10 hour days & make you want to KILL yourself.”

Anyone who has developed an application, be it for the desktop or mobile, can tell you that framework makes it so much easier, but easy is a relative term. What easy may mean is that development time is reduced from 6 months to 6 weeks or less. Still not that easy, but easier and a big relief.
For folks who want to learn to create and develop their own mobile apps, but don’t have much programming experience or little at all, I would like to suggest starting with developing a simple app in HTML, CSS, and Javascript to get your feet wet and see if you can get your idea up and running either as a mobile web app or as a native mobile app that is coded in HTML, CSS, and Javascript.
As I wrote in DIY Dev: Program or be Programmed a couple of weeks back, there comes a time when your own natural diy urge or curiosity or frustration with a lack of an app drives one to learn how to program a computer, server, or mobile phone so that the itch has been scratched.
Rather than get bogged down in the debate between mobile web apps and native apps, let me give a few links to resources out there to help get you started on creating your own mobile HTML, CSS, Javascript app be it for the mobile web or a native app:
Cross Platform HTML, CSS, Javascript Mobile Development Frameworks:
PhoneGap –
Sencha –
JQuery Mobile –
Qt Quick –
Tutorials and Presentations:
Building Mobile Apps with HTML, CSS, and JavaScript
HOWTO: Create native-looking iPhone/iPad applications from HTML, CSS and JavaScript
Forum Nokia on Developing for the Mobile Web
Tips and Tricks for developing Mobile Widgets
Programming the Mobile Web
Beginning Smartphone Web Development: Building Javascript, CSS, HTML and Ajax-Based Applications
Building Android Apps with HTML, CSS, and JavaScript
Have fun, get coding, and send us/ let’s us know what you have created.
Ms. Jen’s DIY Programming Series:
DIY Dev: Program or be Programmed
DIY Mobile Programming: Get Started with HTML, CSS, and Javascript
DIY Programming: Should HTML be Required for Literacy in the 21st Century?

DIY Dev: Program or be Programmed

Fifteen years ago, to prove a snotty engineering student wrong who said artists couldn’t make websites, I taught myself in less than 2 hours how to code a website. Ten years ago, I wanted to do more than just write HTML and use Photoshop, so I checked myself into Long Beach State’s Extension and took a class on Javascript and one on Flash Actionscripting, more classes and trainings followed. Five years ago, I wanted to learn even more programming and checked myself into a graduate program that took 1/2 designers and 1/2 programmers and taught them both disciplines.
My programming professor at Trinity after our classes were over encouraged me to learn Python, of which I have done over the course of the last few years. In the last two years, I have had the opportunity to write several full web apps from the ground up. All of this has been hard, satisfying, and more than a bit of a stretch.
But I am glad that I have pushed my own boundaries and didn’t listen to the naysayers, not the ones 15 years ago or last week, who said that an artist/designer/webdev can’t learn to code/program.
If you can learn to speak/write/read a language and can reason, of which most of us have done at least once, you can learn to program.
Over the last few years, I have found myself getting increasingly frustrated that there is not the mobile app that I want out there or the one that is out does not have the features that I want, etc etc etc. Up until recently, at least from my perspective, programming a mobile application has been hard as one has to be a “real” programmer, the kind that learned Java/C/C++ in a four year Computer Science bachelors degree.
I am an optimist and frequently over commit myself by getting excited about how easy it will be to learn a new technology or language and then find myself more than a bit overwhelmed. But a funny thing happened along the way, C++ doesn’t seem so obscure/opaque and/or hard any more. In experimenting with it recently, I found myself delighting in how easy it was for me to learn it and make simple apps. All that programming in python for Google App Engine over the last 18 months has paid off.
This has me excited. Excited enough to go two weeks ago up to San Francisco for the Nokia Developer Day at CTIA to see the demos and presentations on Qt. Excited enough to then go to the Qt Training Days in Austin this week.
I have mobile app ideas running around my head and now is the time to start programming to get them out and about.
Ms. Jen’s DIY Programming Series:
DIY Dev: Program or be Programmed
DIY Mobile Programming: Get Started with HTML, CSS, and Javascript
DIY Programming: Should HTML be Required for Literacy in the 21st Century?

Hackers and Painters, Re-Read

Project 52 : Week 5
If you haven’t read Paul Graham’s essay “Hackers and Painters” yet, and you are a maker / creator / creative, go read it.
I read it about 4 or 5 years ago for the first time and reread it this morning. Today it resounded as I have been frustrated at myself for what I perceive to be my failure at software engineering, as I when I code, I think of how I would apply paint. When I get stuck with trying to code in Python or PHP, I draw in my sketch book until I can get unstuck. Many times if I can’t solve a problem, I do something else or go to bed and my brain will serve me the answer or solution while in the other activity or when I wake up.
Much like Mr. Graham describes in the essay, I build web apps and web sites much like I would build a painting or a whole dinner, I think about the whole idea, I get the ingredients or supplies ready, and then I start to make | code | create | sketch | paint. Scrub out what does not work and repaint | recode. I don’t plan it the app out extensively before hand, I code in the browser. I am not the type who writes out pseudo code beforehand, or does wire frames, or designs in photoshop.
For a couple of years now, I have jokingly called myself a ‘Professional Art Weirdo’ whenever someone asks what I do for the living. This title always confuses other web professionals who know that I am a web / mobile developer. In 2007, I found myself at a programmer’s conference full of Java folk, while in a small group setting everyone said their names and very detailed descriptions of their Java skill sets, when it was my turn, I cheekily said, “Hi, I am Jen and I am a painter.” Then I passed on to the next person.
All jokes aside, I was delighted and relieved to read this essay this morning, as Mr. Graham quite nicely makes a defense for the intersection of programming and art as creative | maker disciplines rather than programming as engineering or science. I would love to see more artists learning to program and more programmers learning to paint.
Go read it.

Perfectionism and Programming, Where to Stop?

I know it is good to be a DRY, Agile programmer and not repeat yourself, but I have a hard time being “lazy” due to a problem with perfectionism.
I have been working on finishing up additions to a web app in PHP that I coded last year and for each day that I *should* wrap up, I find One More Thing that should be polished A Bit More, just One More Thing. Last week, I fell down a hole of internet research about the latest developments in PHP security. This was bad, because there have been new techniques on how to best beat the bad boy hackers, so this week I found myself making a few changes to reflect best, current secure practices of the most recent cutting edge.
This is the right thing to do, right?
Well, bits of the app then needed to be recoded, and then a few more changes, and then test the database, and then some more recoding, and I had a huge refactoring snowball rolling down a hill attacking me. Gah. But in good conscience, I could not leave the client with security holes.
Where do you stop? Right at the letter and law of the contract? A few extra hours of work if you find some new information on the latest and greatest practices? Or do you just do it and refactor the whole app for professional pride and a good job well done?
Let me know where you draw the line.

The Next Two Weeks: San Francisco, Germany, and London

The next two weeks are going to be very busy with me flitting here there and everywhere for (mostly) business purposes.
On Sunday, I will drive up to the Bay Area for some Python Rehab. Actually, I am going to some training but it sounds much more fun to say to people that Python and I aren’t speaking right now, due to some tuples, and so I am checking myself into programming rehab. No seriously, I keep getting tuple errors (little ass*s)…
If you live in SF or Oakland or South Bay and want to get together for dinner, I am trying to get folks together either Monday, Tuesday or Wednesday evening in San Francisco proper.
And then sometime, not quite sure when yet, late next week, I will be flying to Germany for a big adventure of which when I have a bit more info, I will blog about. Yes, this another one of the WOM World / Nokia adventures. This one will involve Industrial Design + Manufacturing + Photowalks, which means it will be AWESOME. I love factories, esp. if I can take photos and ask lots of questions.
Rather than flying back to LA after 4 days in Europe, I have requested that I get dropped off in London. I plan to be in London until the 28th of June at the very least and I will be attending Tuttle Club at the ICA on Friday, June 26th. Thus, if you are in London-town from the 25th to the 28th and want to go for a photowalk or to dim sum or to a museum with me, let’s meet up.

Ada Lovelace Day :: Cousin Lynn

Cousin Lynn
Photo by Ms. Jen at the family Easter lunch 2007.

For Ada Lovelace Day, I would like to celebrate the achievements of my Cousin Lynn and the other women of her generation in tech.
According to family lore, in the early 1960s, Cousin Lynn (aka Lynn Langtry), age 19, took a administrative position at a company in Los Angeles. The company needed people to help punch out cards that ran the programs on the computer and Lynn volunteered, punching cards turned into learning how to program the computer.
From this fortuitous beginning as a programmer, in 1970, Lynn took a position with Computer Sciences Corporation, contracting for the US government, programming computers in such exotic locations as Hawaii, Alaska and Iran before the fall of the Shah.
As a child, I knew that my mom’s best cousin was an adventurer and lived a secret classified life. As a teenager, when Lynn returned to California, I knew her as my mom’s super cool cousin Lynn who had a job that no other woman I know had. Lynn worked for NASA! But it wasn’t until I started to get involved in the web in 1994-96, that I really got to talk to Lynn about programming, tech, and computers.
One of my favorite conversations with Lynn about programming was about 2000, she was grousing about how tediuos XML seemed, in a class she was taking. She, the woman with nearly 40 years of programming experience, asked my opinion on XML. We both agreed that it was a good data structure, but felt that all the hype of the time was just hype.
Lynn has been a big supporter of my choosing a career in tech and whenever we get together at Easter or Thanksgiving we talk about what is up in the web world, even though she has been retired to a serious “career” in golf and the like for the last 5 or so years.
Given how hard it has been to take up web development and programming as a woman in the 1990s and 2000s, I greatly admire Lynn and her whole generation of women (& men) who pioneered the computer programming field, who worked hours on end in windowless basements in government buildings in Alaska, who worked programming in Tehran, who had opportunities to create a new field.
Thanks, Ada. Thanks, Lynn. Thanks to all the thousands of other women who are programmers and have been an encouragement to many women.

Guy Fawkes and PHP

Guy Fawkes wanted to blow up the new order (the Protestant Ascendency) to return to the old order (Catholicism). Today, I am going to have to blow up the old order (a mishmash of PHP4 & 5) to install the new order (PHP5 with PEAR & PDO). Wish me luck, taking down foundations is always risky…
How is it that England has a bonfire night on Guy Fawkes Night, Ireland has a good bonfire on Halloween, but we here in the US don’t have a good bonfire night to start the descent into winter? Extending daylight savings time a week doesn’t count.
We could argue that here in California we had a month of bonfires of the wrong sort.