Hey you!

Postcards are cool! Go send some ->

postme.me

Top 10 iPhone Apps for Web Designers

Feb 03 2012

This is a guest post by Jan Pierce - a 4th grade teacher who has over 20 years of experience in the classroom. Her interests include educational technology and online learning. She also owns the site Elementary Education Degree for students interested in earning a degree in elementary education.

1. EgoThis is an essential app for anyone in the web business. Ego allows you to check statistics like visits, feed subscriptions, Twitter followers, and more on a daily or hourly basis. Instead of visiting a bunch of different websites, all you need to do is open this single application. It supports sites like Google Analytics, Twitter, Squarespace, Vimeo, and more. ($1.99)

2. PalettesDon’t you wish you had a way to capture a color you see online? Now you can with this application. Take a color directly from any online image and create a palette, or import a palette from another photo program. This is a great way to use Professional color schemes without wasting time to create them for every site you make. (Free)

3. WhatTheFontIdentify fonts wherever you go with this handy application. Take a photo of a word and find out what its font is in seconds to help you gain quick inspiration for your own sites. This app has gained a cult status among web designers for a very good reason. (Free)

4. FTP On The GoThis app allows you to perform maintenance on your website, no matter where you are. You can also edit files on an FTP server and check other applications while staying in the FTP all. This is one of the most downloaded web business apps on the market. ($6.99)

5. ZeptoPadForget the tiny keypad on your iPhone. This app lets you draw on the screen with you finger to brainstorm and jot down notes. You can also save what you make in a JPEG format to send to your friends and colleagues. (Free)

6. CSS CheatsheetEven experienced developers need to look up CSS commands every once in a while. This is a reference sheet for those on the go who just need a little reminder so that they don’t have to waste their time searching online. ($0.99)

7. SEO ProTrack the progress of all your domains by viewing various page rank factors from Google, Yahoo, and more. Since this app allows you to monitor unlimited urls, you can even track your competitors’ sites as well. ($0.99)

8. WorkTimerDo you have trouble keeping track of how many hours you work on each of your projects? This app will track them for you so that you can provide clients with accurate billing information. At the end of each month, you can send out emails with project records. ($0.99)

9. CliqCliq ColorsFind and edit colors with a precise, easy-to-use functionality. Quickly convert scales and formats that are compatible with all the major types of photo editing software. You can also extract colors from your iPhone photos or Flickr. (Free)

10. AnalyticsIf you already have a Google Analytics account, this app will bring all of its amazing features to your iPhone. View 55 different reports as well as information for site traffic and e-commerce. You won’t find an analytics app nearly as detail-oriented as this one. ($6.99)

Enhanced by Zemanta

No responses yet

TEDxBled pitch

Feb 02 2012

TEDxBled is right around the corner and it’s accepting random people to come give a talk. There’s a competition going on and out of everyone who submits a video they’ll pick the best two to come dazzle the audience.

Since this is a pretty cool opportunity and I almost have something worthwhile to say I decided to pitch a talk about my giving your future self a voice idea. It’s nowhere near the high level of altruism and awesomeness of the other ideas pitched so far, but hey … we can’t all be spectacular right?

Talking into a computer is insanely weird for me, I prefer a crowd – it’s somehow easier, probably because I can feel for a connection, get a few cheap laughs and generally feel how I’m doing and whether I should change the pace around or whatever.

After a few takes I came up with this:

The voice is crappy, the lighting sucks because you can’t see my face well, but if I tried going for a different shot I’d have to clean my room and that just sounds too much like an excuse to avoid studying for exams.

It’s a long shot and I probably won’t be asked to present, but at least I tried :)

Enhanced by Zemanta

No responses yet

Everyone should learn [about] programming

Feb 01 2012

What use have an artist, a baker, a winemaker, a firefighter and a brewer with programming? None.

A brewer

A brewer

Yet.

An article surfaced on HackerNews yesterday arguing that Programming is the new High School Diploma, the main argument being two facts:

  1. Computers are everywhere
  2. Automation is pushing out middle-tier jobs

The basic idea is really simple – in the not very distant future programming will and should be as important as basic literacy is today. Not just basic computer literacy, but programming in the sense of combining and extending apps in novel ways to fit your problem area.

There are a lot of professions for which automation is almost impossible to imagine – an artist, a firefighter, a winemaker, brewer, baker; the list goes on and on. In fact this was the top voted rebuttal of the whole story. A lot of professions need so much human touch it is inconceivable they would ever need programming.

Someone else can do the coding

And if parts of their jobs do become automated, they still won’t need programming because there will be special people to program special tools for these professions and just show them how they’re used.

Washington, D.C. firefighter

Image via Wikipedia

All well and good, but that’s missing the point entirely.

There is no need for an artist, or a baker, or anyone working in meatspace to be a good programmer. They have no need for pointer arithmetic, functional programming, P=NP or knowing javascript and python’s list comprehensions.

They just don’t.

Somebody else can do all that stuff – an actual expert. But how much does a programmer sitting at home, watching code and cat pictures all day, know about the problems of a baker or an artist? Or about fighting fires?

Problem areas

You can’t solve problems you don’t know exist!

Someone with problems who doesn’t know of a whole field of solutions can’t ask for help either.

And so we reach an impasse. On the one hand you have an industry full of people so hungry for problems they create better and better ways to share ever more boring stuff, and on the other hand you have … the other ~70% of the population drowning in real, hard, solvable problems.

While you can check foursquare to see where your friends are, there are firefighters who would (probably?) love nothing more than a real-time map of where all their buddies are in a building. And what are the best and brightest of the world doing? Nothing much, I heard there’s a meme making rounds about something or another.

High school is about broadness and giving pupils a little bit of everything. Some history to understand the problems with large-scale ethnicism, a little bit of biology to help you talk to the doctor, a dash of this and that. All in all, none of us become experts in every field we study in high school, but studying them gives us a better understanding of the world.

A chef

A chef

And yet high school deprives us of even the simplest knowledge of a field touching everything in our lives.

To innovate, to even begin to really use this amazing tool, we need to give the general populace the ability to begin the process of automation – that spark of Hey, this is kind of repetitive, I wonder if a computer could do it.

Chances are it could.

In fact, we know a computer can solve any problem we consider solvable … even subsets of those that aren’t solvable. But you first need someone who knows how to actually solve a problem.

That’s why most problems programmers solve are those other programmers have. It’s like an echo chamber out there, nothing but better and quicker ways to make development easier. These are then used to make development even easier and suddenly it’s become impossible to keep up with the world of computing.

Most other industries innovate much more slowly. Most of them can’t solve their own problems and they don’t even realize a solution exists because they don’t realize they have a problem. The greatest handbrake on innovation is a worker with too narrow a worldview to understand their job could be made better.

What you can do?

Because changing how high school works is hard, I have a suggestion for something you can do right now! Only needs three steps too

  1. Find a nonprogrammer friend
  2. Take them out for a beer
  3. Teach them about programming

Give them the bug of automation. Do it with passion. Do it well. When they start looking at the world in terms of Hmm … I wonder how this could be made better, easier, more interesting. They will start coming back with real problems. Problems out of their solution scope, but something you can work on.

And hey, startup opportunity! You now have somebody with a real problem looking for a real solution! Hooray.

Enhanced by Zemanta

2 responses so far

Three cool things

Jan 31 2012

In lieu of a proper blogpost today you get three cool things, because I have to pass two exams an hour apart.

1) Arrivals

Arrivals is an incredibly cool Foursquare app – probably the best I have ever seen. The idea is simple, take your foursquare data, turn your friends into aeroplanes, make an arrivals board like at an airport.

And that’s pretty much it. The app doesn’t do a whole lot, it runs in a browser and I love it because it does a single thing, but does it perfectly and in a cool way.

Arrivals for Foursquare

Arrivals for Foursquare

2) Design for programmers

Method of Action is something I only discovered last night and haven’t had the chance to play around with that much yet. It looks like a very promising way for programmers (people like me) to learn enough about design to hold their own in a conversation with a designer.

But more importantly, looks like it will enable us to throw together mockups and to at least understand what designers do. We love ranting on and on about how none of those stupid lusers understand what a programmer’s life is like – time to reciprocate ;)

Oh and the Kern, Shape and Color games are already super fun to play.

Method of Action

Method of Action

3) Buffer’s iOS app

My favourite twitter tool Buffer has now got an iPhone app. If you don’t know about Buffer yet, shame on you! It’s only the tool that played a great role in increasing my blog traffic baseline by roughly 1000% last year. Yes, that’s a thousand percent.

Diminishing returns aside, it’s still a very powerful tool.

Mine was just emptied so the screenshot was lame

Mine was just emptied so the screenshot was lame

Enhanced by Zemanta

No responses yet

Heroku, mongo, node.js – a problem

Jan 30 2012

A couple facts about three cool technologies

The Unicorn Is Penned, Unicorn Tapestries, c. ...

Image via Wikipedia

  • node.js is a powerful way of writing backend code in JavaScript; why JavaScript? Because you have the kind of problem that benefits from asynchronous code (the average web app) and you like using the same  brain for backend and frontend work
  • mongoDB is an awesome NoSQL data store for objects. It is an especially great companion to JavaScript since its internal storage are JSON-objects. JSON has plays particularly well with JavaScript due to certain similarities (some even think the JSON language is a subset of JavaScript, although it’s not)
  • Heroku is the simplest way to deploy web apps. Originally designed for Ruby, it gained node.js support last spring/summer. There are alternatives, but heroku presents itself as a particularly good pick for various reasons (it feels right)

Combining these three technologies should be a walk in the park. The best thing since sliced bread and unicorn farts should rain down the heavens upon you for even thinking of using node.js, mongo and heroku in unison.

Not so much.

The culprit – the bleeding edge, baby!

Mongo’s only been widely-ish popular for a year, node.js still isn’t widely and Heroku is traditionally a RoR hosting environment so there are things that aren’t quite smooth yet.

Getting mongoDB support on Heroku means using an external party – what heroku calls an add-on – MongoHQ. It’s a mongoDB hosting provider that gives you access to a database and lets you loose.

But MongoHQ requires authentication.

My favourite mongoDB driver for node.js … doesn’t support authentication. At least it doesn’t support authentication easily, in fact it doesn’t support authentication so much that it isn’t officially documented. The only reference to getting this working is some guy’s blogpost from April 2011. This is an actively developed library by the way, the last commit to node-mongodb-native‘s github was yesterday.

Some say I should be using mongoose instead, but that would most likely require rewriting the whole application at this point. Not to mention I don’t like mongoose’s ORM-like approach because that’s just a little too SQL for my liking. Why would you force a traditional data store way of doing things onto something as refreshing as Mongo?

To make things worse, a while ago (about a year it seems), mongo introduced a new mongo:// url schema for connecting to their database … not even all the official drivers support it yet.

Don’t you just love the bleeding edge? Competing libraries, standards shifting under your feet and things never quite working out!

Enhanced by Zemanta

4 responses so far

Lychrel numbers

Jan 27 2012

Last night I discovered another cool mathematical concept akin to the Collatz conjecture - Lychrel numbers.

Collatz map fractal in a neighbourhood of the ...

Image via Wikipedia

The idea of a lychrel number is pretty straightforward: Take a number, add its reverse, continue until you reach a palindrome number. If you never reach a palindrome, then this is a Lychrel number.

Something like this:

349 + 943 = 1292,
1292 + 2921 = 4213
4213 + 3124 = 7337
not lychrel

If you’ve ever done any theoretical computer science, you’ll immediately spot a problem. This isn’t a very good algorithm. Problem is with that “never” word in the description – an algorithm is a finite set of steps, when you need an infinite amount of steps to reach a conclusion that’s … not very useful.

Honestly I am not certain what class of problems lychrel numbers fall into. The “not a lychrel number” is a half-decidable problem. It will always tell you when a number is not lychrel but it will never terminate when it is. If my understanding is correct, this would make “is a lychrel number” an non-decidable problem.

Project Euler is kind enough to limit the problem a little bit and make it a fun algorithm to write before bed when your brain is half dead. Find all lychrel candidates under 10,000 assuming it should never take more than 50 iterations.

Solving that problem becomes rather trivial in Haskell:

 
reverse' = read . reverse . show
 
palindrome n = n == reverse' n
 
-- max denotes max recursion depth
lychrel n max
  | max <= 0 = True
  | palindrome$n+r = False
  | otherwise = lychrel (n+r) (max-1)
    where r = reverse' n
 
lychrels max =
  length [x | x <- [1..max], lychrel x 50]

Oh and actually the first number that needs more than 50 iterations to converge into a palindrome is 10677, so the problem is pretty safely stated.

For a final bit of fun, the number 4994, itself a palindrome, is a lychrel candidate.

Enhanced by Zemanta

One response so far

A month wasted

Jan 26 2012

This post is about exams, being in college and jumping through arbitrary hoops set up by arbitrary old men so they can feel arbitrarily important. But most of all it’s about everyone wasting a month of their lives for something that surely a better alternative exists for. I may have written about this before.

English: A crowd has gathered to take part of ...

Image via Wikipedia

I am notorious for sucking at passing exams. I am perhaps even more notorious for disrespecting authority and arbitrary tests of skill. There might be some bias. You have been warned.

My hate of tests started early, when I was doing those aptitude tests for first grade I stopped after five minutes saying something like “Here. That’s enough for you. Bye”.

When you do that at six the examiner goes “Oh my! What a smart little boy, so defiant and thinking for himself!”, at 24 the usual reaction is more along the lines of “Omg what an idiot, who let him out of grade school? The guy can’t even solve the simplest of problems!”

However, exams are upon us and it is once more time to jump through hoops and prove ourselves worthy of being allowed to jump through some more hoops. Just so old men can pat each other on the back and feel good about having taught people something.

A waste of time!

I don’t think there’s a single person in the world who likes exam season, not even the professors and teaching assistants. Just a week ago everyone’s lives were better.

The professors were working on their research and figuring out cool ways to impart knowledge on young impressionable minds. The teaching assistants were also working on their research, while doing a bit of slave work for the professors, imparting knowledge on young impressionable minds and possibly grading some homework.

Most of the students‘ lives revolved around going to class and having knowledge imparted on their young impressionable minds. Some of them were doing research on the side, or some sort of pet project or another, some have jobs – most of them working on exactly the kind of thing they’ll be doing after they graduate – at least that’s how it is in my line of work.

The better students were also studying the more interesting subjects in more detail, because what is said in class just doesn’t feed their hunger for knowledge.

English: School children doing exams inside a ...

Image via Wikipedia

Some of the students – there might be less of these now that I’m not a freshman anymore – had impressive WoW and Skyrim characters.

Enter exam season, stage left, all our lives got twisted upside down.

Suddenly everyone’s productive lives are put on hold for a month while we take the time to jump through hoops and politely ask permission to jump through more.

For a month:

  • professors have to observe students jump through hoops instead of advancing their field
  • teaching assistants must create those hoops and grade the jumping instead of doing research
  • instead of going to cool lectures, students must study
  • instead of being productive on cool projects, students must jump
  • when a hoop is presented a student must not ask “Why the fuck?”, no, they must ask “Can you please turn that on fire as well? And can I do a piruette through it please?”

It’s insane. And stupid.

You come there, often times early in the morning, and are given an exam. Then you are expected to solve four tasks. Each of them must be solved perfeclty on the first try. You have 90 minutes. Good luck.

Remember how they say interviewing candidates should not be based on trivia knowledge or solving “simple” tasks perfectly on the first try under time and situation pressure? [Joel on Software - Guerrilla Guide to Interviewing]

Then why is it considered a good idea to test knowledge of _a whole subject_ like that? There’s no way a normal human being even stands a chance.

I’m lying, of course there is.

English: A wall of "ema" votive plat...

Image via Wikipedia

When you dumb down the whole field into formulaic application of a few algorithms and memorizing a few equations, suddenly everything becomes testable like that. But is this really in the spirit of what we’re trying to achieve here?

I mean, we are, after all, trying to prove who is and who isn’t worthy of being the creme of high thought in this nation and who gets to advance the field, funding for research, stuff like that.

A bunch of mindless automatons following instructions and dutifully obeying authority are sure to do just that! Wait, why do we have computers again?

I can understand this happening in high school … a bit … but college? Seriously? Your idea of a good college education is making sure I know how to follow instructions and apply some basic proofs/algorithms/formulas by hand?

Fuck. That. Shit.

Is there a solution? I don’t know, but I’ve always liked the idea of being given a semester to do a big project involving what we’re being taught in class. It’s a lot more interesting and a better way to learn about something.

PS: there are many bright exceptions to this behavior at my college, it’s just that none of those exams stick in memory because I pass them with a good grade almost without trying.

Enhanced by Zemanta

6 responses so far

A visit to the dentist

Jan 25 2012

It took me six months to work up the courage to make an appointment for the dentist. After some initial confusionI finally managed to bump into someone and magically make an appointment before I could realize what was going on.

An image from 1300s (A.D.) England depicting a...

Image via Wikipedia

I was told to come back in a month.

Today.

The experience taught me two things:

  1. My teeth are made of magic
  2. I am far more afraid of dentists than I had thought

Ever heard of the expression white with fear? Turns out it can actually happen. Just like Tom turns completely white when a train is rushing towards him, so too my face turned white when I was sitting in that damn chair. Nearly fainted too.

I never did like dentists much – seven years since my last appointment after all –  but to nearly faint from fear? Nausea, tunnel vision, white face; the whole shebang! Didn’t even feel that bad, but you know shit’s going down when the dentist removes your glasses “just in case” and puts a wet rag on your forehead.

Lucky for me, I have magical teeth and the tally from all the years of neglect is just:

  • one broken filling
  • three wisdom teeth with some caries
  • inflamed gums

None of that OMG my wisdom teeth are breaking my head and trying to destroy everything!!! I honestly expected much worse, but hey, I’ll take the deal ;)

It also turns out I suck at keeping my mouth open and will be having much fun the next time I visit … something about working on the back teeth and not being able to get the drill completely vertical and maybe not even being able to work on them …

Now my face feels funny from the injection, the optional injection. Can’t imagine the amounts of pain there would be had I not told them that yes, yes I do want that injection thing. You did notice I almost fainted when you were just cleaning my teeth right? WHY ARE YOU ASKING ME THIS!?

Those things take a while to really kick in. She was almost done drilling before I stopped feeling everything and even then just the air blowing over my teeth hurt like hell. Not to even mention the disinfectant.

Another appointment in a few weeks and then I guess I’m good to go for another seven years. Right?

Enhanced by Zemanta

2 responses so far

I Don’t Know

Jan 24 2012

I. Don’t. Know.

Three simple words. Almost impossible to say. As developers, as entrepreneurs, as men we never want to admit we don’t know. If you don’t know, you are weak and an army of angry huns will come to steal your women, your business and your honor.

When founders don’t know what the hell they’re doing, people leave, investors say “maybe” and users aren’t showing up. Especially if they openly admit they don’t know.

But just as some consider not knowing a sign of weakness, always knowing is definitely a sign of weakness. Selling your best guess as absolute fact works very well in the short term, in fact it works spectacularly well – there’s a reason there are whole books devoted to the practice of eliminating excuses from your speech. Phrases like  I think, in my opinion et cetera.

Island of knowledge

Island of knowledge

While it’s important to commit to what you say without hedging and ways to weasel out when you’re proven wrong. It’s even more important to admit when you don’t know. In fact all that hedging just defends you from admitting you are wrong and don’t know.

The best thinkers of our species, like Feynman, Einstein and others, are glorified for their ability to embrace what they don’t know. To look ignorance straight in the face and spit in its eye. Most of us cower from such an opportunity, we like nothing more than to stand firmly in the middle of what we know and never looking beyond the horizon lest there be monsters.

Someone once said Every man lives on an island of knowledge in a sea of ignorance. The bigger your island, the longer the shore of ignorance.

Most people can’t even comprehend how much they don’t know about a subject, because the more you know about something, the more you understand the intricacies involved. A common saying amongst developers is What the fuck man!? How can That Startup spend so much money on that simple problem, it’s just <x>, <y>, <z> and you’re done. I could do it in a week!

Chances are, you don’t know what the hell you are talking about. The hardest problems seem the simplest when given only a cursory glance. So put down the ego for a moment and prove it. Prove that the problem is simple.

You can’t learn what you already know. ;)

Enhanced by Zemanta

2 responses so far

Appcelerator Titanium might’ve made it to my toolbox

Jan 23 2012

Last time I played around with Appcelerator Titanium I didn’t get a chance to really put it through its paces. Mostly because I wasn’t getting anywhere … I remember spending hours, even days, just figuring out how to get a Hello World to run in a simulator.

MoBods Scoop! Development ;-)

Image by Podknox via Flickr

Yesterday was my lucky day! Not only did I get something to run, I actually made something useful. Or rather, I was given a working app and told to add some features and generally make it better a tiny little bit.

Took me way too long – expected when dealing with technology you know nothing about – but at 6am today I had Pickup connecting to the server on the user’s own private channel and talking nicely to the Chrome extension.

By the way this isn’t my project, I just helped out, but from what I saw last night, you want to sign up for the beta. Promise!

Titanium good

  1. It’s Javascript, if you haven’t noticed I love javascript
  2. The same app works both on android and iOS
  3. Titanium API’s are generally simpler than what I’ve seen of native iOS
  4. Properly using the user interface API’s gives you a native look&feel

Titanium bad

  1. The IDE; I don’t like being forced to use an IDE and I very much hate being forced to use a crappy IDE.
  2. Everything looks like it would be pretty much impossible to develop with my usual text editor method
  3. Code once, run everywhere is good in principle, but it usually ends up lacking the polish of a real native app, especially since android and iOS have slightly different UI guidelines and traditions

Conclusion

All in all,  there’s a lot of potential in this Titanium stuff despite the shortcomings. I might just start adding a mobile part to my future projects … there’s certainly some that could use it.

Enhanced by Zemanta

No responses yet

Older »

« This Haskell is wrong. Why? I Don't Know »