2011.10.09

A Respect for Cross Platform Developers

02.52.30 - Mark

I long time self declared geek, I'm a little surprised I've never really sat down and learned C++. I mean I've played around with a variety of programming languages, and I've had a copy of CodeWarrior for the Mac for a decade or so. So while I remember doing some "Hello World!" and tutorial work on it, I'm only now learning it between I'm taking a college course on it. While a lot of the basics are similar to the PHP and Arduino I already work with, the fact is I'm learning a bit more than I expected.

Specifically, as a happy Mac user, I'm comfortable with banging away in Apple's Xcode. Unfortunately, the course prefers Microsoft's Visual C++ Express, which no, does not play well with WINE like many other Windows apps do. So while I'm quickly picking up on the syntax of C++, defining my own rosetta stone comparing and contrasting the languages I know, I'm also working on the art of cross platform development.

Ten years ago when OS X was new and shiny and Macs still ran PPC processors, cross platform development was pretty rare. Only a few, like Adobe, Blizzard and Bungie would actually make an effort to straddle the fence. It always annoyed me that only the big (or at least Mac based ) companies would go cross platform, after all they were almost all using C, C++, maybe some PASCAL, so why not cross over? Was the Mac really that daunting?

Well, while I still don't considering the Mac daunting, translating even a "common" language can be a gauntlet. While I'm not going to claim to be a programming prodigy, it only took about an hour to read over the requirements and bang out a working program in Xcode. Add another hour to write up the documentation, and it was time to handle it on the Windows side. At which point I spent another 90 minutes trying to figure out what the windows side needed, rereading my code and googling the error codes. In the end I had repeatedly ignored the rather simple solution, one that probably should have been required on the Mac side, but the fact is, the people who manage to port software deserve a lot of respect, especially those who add linux into the mix...

Link | 0 Comments |


2008.02.27

Atopsy of a Photoshop Demo

01.08.26 - Mark

Photoshop is a tricky program, I've been using it for years and I'm still learning stuff. Part of the problem is how massive it is, part of it is your numerous options for doing any one trick, even the level of customization it offers and then there's the lack of a "right" answer when you edit a photo. Those elements are why it's such an indispensable powerful, and praised program. It's also why it's a real bitch to teach.

The question quickly becomes where do you start? Do you do an overview of the tool pallet, talk about the info and layer boxes? Attack the menus? Memorize hot keys and command strokes? Or do we assume the learner can figure out the icons and run though the concepts behind the program and go over darkroom technique? Or should we plunge into the deep end and tackle photo manipulation? Classrooms, demonstrations, books, websites, and adventurous individuals have all tackled these questions and there's no one answer, just like everything photoshop.

I've been playing with some of these questions for over a month now, since my local photo club asked/drafted me and another photoshop user to do some demonstrations tonight, and I'm thinking about what i did right, and what I fumbled on.

Lesson one: Plan on getting there early, then show up even earlier than you planned. At the very least you're going to need to drop files to the computer you're using. If they're big files, and the system can handle it open them up in advance. That's why you get there early. The reason you show up earlier than that is the technical snafu you're going to face. Murphy loves photoshop demos. If you're using a projector, check the screen resolution and calibrate the thing - don't trust the display profiles. Photoshop needs a lot of screenspace and not all projectors adapt well. And if you're using photoshop and don't know why you calibrate the colors on your display, I'm sorry but I can't help you - go back to Microsoft Paint, you'll be much happier. Then there's everything else you may need to fix, from scratch disks to mouse tracking. It sucks when you have to do a half assed fix in the middle of the presentation, especially if people start throwing out suggestions

Lesson two: Have files prepared in advance, have a cheat sheet prepared in advance, have talking points prepared in advance. Multitasking is hard. Multitasking two tasks that both require a large part of your attention is near impossible, and despite what you may think about instruction, to do it well you need to concentrate on what you're saying/doing and how the audience is reacting to what you're saying /doing. As for photoshop, you'll be juggling hot keys, menu locations, and the image files themselves around in your head. Even if you know that you want to hit V to bring up the move tool, B for the brush, and E for the eraser and [ or ] to scale the tool sizes, the audience doesn't know that and you'll be working magic while the audience is 10 steps back. Or you'll be trying to talk while drawing a vector path and completely blank on the modifier key you need. Help yourself. Prepare the files and notes in advance then use them.

Lesson three: Practice, Practice, Practice. Yes, you know how to use photoshop, great. You probably know how to talk too. But would you give an important speech without practicing it a few times? I didn't think so. Using your prepared files and notes run though the demonstrations a few times. You may feel like you're going nuts, and you may well be, but practice the steps working with your files. Take a break and go postal if necessary but you need to practice with the files you'll be using.

Tip one: Have a few prepared ideas. That means more than one The one thing I'm really glad I did the way I did was I had three things to sets prepared. Stitching a panorama, creating a dynamic range increase photo from two exposures, and using paths and layer masks to remove the background. That's two more than I had been planning on, and ended up being one less than I needed. If I only had one of those prepped I would have flopped bad and the demo would have gotten tedious for everyone involved. By having three distinct demos ready I got to run though several concepts and was able to impart some of my knowledge, and hopefully a skill onto everyone there - from the "I don't own photoshop" guy to someone who's taken a class. It also gave me a degree of flexibility to improvise.

Tip two: Expect to improvise, and be able to improvise. Stealing one from the teaching textbooks the time when anyone, young or old, is most receptive to learning is when they're asking questions. Unfortunately that's probably the one time you're least able to teach. That's why some teacher's hate questions, and other's love them. Shortly after I arrived I was asked if I could show how to put in "ghosts" of people into a landscape. I didn't have a photo of people but because I knew how to do it a couple of ways I figured something out (a giant ghost of a cellphone floating over a greenhouse) and got to make some good points about photoshop. Thank you improvisation.

Tip three: Advanced tools for the experienced, fundamental concepts for the beginners. As pointed out above I had the whole range of photoshop users in the audience, and my demos were intermediate and up, but a lot of the concepts were on the face pretty simple. How do you make a selection? You've got the selection tools in the tool box, but let me show you the paths tool, which we can use to get better results... How do you remove the background? You could use the eraser, but that's a destructive method, and you'll loose all that extra information when you save the files. Let's use a layer mask instead, that's nondestructive. The seasoned pros get a how to on using the tool, the beginners get a better understanding of the tools and why they should ramp up their skills, and you have something to talk about when you're trying to remember what modifier key you need or why that menu item, which should be working, isn't working.

Tip four: Final product, in advance because you're not getting a good copy from the demo. Have your final product ready and separate from the demonstration files. The middle of a demonstration is not the time to be indulging in perfectionist tendencies so you will not get a good example of a finished product unless you're stupid (ignoring the audience) or lucky (self-explanatory). Your target is "good enough" because your focus should be on your audience as much as possible. If you're trying to decide if the red output level needs to be 240 or 230 your attention is not on the audience. Show them the extremes then settle in on a happy medium and move on to the next step. If you don't like that idea, have those numbers in advance so you can plop them in as needed.

Tip five: Don't worry too much, unless you're out of your league. Chances are if you're doing a demo you know what you're doing, and it's a good bit more than the audience, so don't get too hung up on your screw ups. If it's really bad they'll correct you, if it needs repeating they'll ask (just make sure to let them know questions and comments are welcome when you start) if you're moving too fast there's a better than good chance that they will let you know before their brains shut down from information overload.

Last tip: Have fun, and find your own way to teach. Seriously.What worked for me may or may not work for you. This has just been my thoughts on what I did right and what I needed to improve on when demonstrating photoshop. Just like people learn best in different ways, people teach in different ways. If you've got the skills to teach find a way you can share that knowledge and get to it. Maybe you can prepare an insanely good pdf howto, or maybe you can create a kick ass video series, or maybe its one on one tutoring.

Link | 1 Comments |


2006.09.27

Another failing of critical thinking...

13.03.02 - Mark

In a school that is pushing a "critical thinking initiative" so hard you would think that a right answer would be a right answer, but you would be wrong. I'm tired of the hypocrisy of HSU, where the right answer is the one defined by the (ill-selected) book and all other variations are wrong.

All browsers and operating systems will correctly display the "216 web safe colors", even if an argument can be made that not all web capable computers support color (they don't) and furthermore, all web browsers support color (again, they don't). Nothing will appear consistanly across all internet connected devices, period.

Not even W3C standards are safe.

tags, at least here, are to be referred to as "Layers", simply because that's the way its defined in Dreamweaver.

It feels a bit Orwellian. Good thing I'm not in a math class, they'd probably be teaching me that 2 + 2 = 5...

Link | 4 Comments |


2006.09.20

Define Workaholic...

Now, I've had people joke about how if I set out to do it, I could complete a 4 year degree in a couple year. Granted this was before HSU and the group in question didn't really realize that the reason I was so smart was because I had studied the same material before moving to NC and being forced to retake it, but this story of a kid graduating from university of in one year thanks to AP credits and an extreme schedule almost blows my mind.

I'm not so sure that the kid is a "genius". Dedicated, possibly addicted, to studying sure but Genius? I think the only reason you don't see this more is because most schools insist on making students stick to tracks and don't accomidate students who want and can handle heavy loads. I know that if a heavier load had been offered to me at HSU, I could have finished my degree in a year. There's no question that it would be more challenging and I actually would have had to apply myself to doing the work, but I'm not sure that would have been a bad thing...

Link | 0 Comments |


2006.05.25

Misguided Lessons

Of all the MySpace / Xanga / Blogger / Other social network site here youth protection disaster stories that the mainstream press is digging up I would be surprised by the stupidity of the involved school systems if I weren't so jaded by the crap schools I've been in.

One of these days, hopefully sooner rather than later, the schools with figure out that easily bypassed and highly localized filters aren't going to protect the children. The ultimate solution, the one that will really protect those not so innocent youth, is going to be competent instructors, or better yet parents, giving kids a crash course in identifiable information.

Addresses, phone numbers, social security number, the number and names of people you've slept with and your plans for world domination probably shouldn't go online. Most people already know this shit, but lets make this just like that talk about smoking - except without the hypocrisy.

That said can we stop running these damned stories about schools vs students?

Link | 0 Comments |


2006.04.18

Wasted Money

One of the annoying things that I'm finding in my college text books is the ridiculious language they use to motivate students to work. I'm not sure where to place it but it feels like the bastard offspring of magnetic poetry, ad libs, business memos, a touch of fiction and a decent helping of propaganda all wrapped up in a reality distortion field.

The standard format is something like:

(Fictional boss or company) wants you to help with (project related to subject being studied). He/she/they know that the concepts in this chapter/book will be essential in completing (end goal of class) To ensure that you understand these concepts (described as such) he/she/they would like you to complete these exercises. [list of "real world" tasks here]


I'll admit I don't have that much experiance in the work place, but I have some, and nearly every non-fictional employer I've had has known nothing about the skills I need for the job they want done. The few that do don't pitter patter around with tests of basic concepts, we both want to cut to the chase and get the job done. They pay less money and I put up with less crap, its a win win situation. Now if a non-fictional boss wants to pay me to jump though the silly hoops fine, I probably won't even complain that much, but I haven't seen it.

I'm not ranting about this busy work and the near eternity it takes to get to a functional level in these classes. As much as I hate the system I relize that they need to be able to track progress so they can get paid and the schools can get grants, but come on. Cut the bull and drop the dead weight. Students are going to get a lot more out of a class once we all stop pertending to do "real" work and get our noses to the grind stone with real real work. You still have your metrics and we aren't typing with our foreheads.

Link | 0 Comments |


2006.03.22

Take Note.

There's a student/teacher debate over laptops at University of Memphis that's getting some national coverage. The interesting thing about it isn't that there are teacher who want to ban laptops in favor of pen and paper. I don't think that's quite as interesting as what laptops are demonstraiting a bit better than "traditional" methods of note taking, and that is students don't know how to take notes.

The offending teacher claims that laptop users are more concerned with transcribing than note taking. I'd say that's a legitimant concern (as is eye contact and other distractions associated with computers) However the problem isn't solved by demanding pen and paper notes, because most students will continue to make attempts at transcriptions.

Different classes require different learning styles. Some classes almost require word for word image for image notes which require pen and paper (Math comes to mind) others benifit from outliner notes and occassional google searches. Others still shouldn't have any notes of any shape or form.

There's some decent discussion on the topic over at slashdot

Too bad there's a breakdown in communication between most students and teachers. That's part of the reason I really like the unconfrence model for classrooms. Everyone gets to do their own thing

Link | 0 Comments |


2006.03.03

Long time coming

I've been wondering for several years how long it was going to take for my former high school to get around to complaining about blogs, turnes out several years. They're holding their first informational session about "the internet and your child" next week. Part of me abhors the idea of returning to that wretched stink hole, but another part of me wants to know how much misinformation they'll be feeding parents about the internet. This would be the same computer education department that tried to pass Hypercard off as Apple's less capable answer to Powerpoint. Sure...

The part of me that wants to be tortured wouldn't be doing it just to gain plesure from mass media induced ignorance, its been kicking around the idea of doing a new media workshop like several other communities around NC have done. I'm fairly sure there are a number of people in the area interested in blogging, audio and video podcasts, wikis, etc. it would be nice to shed some light on those subjects and help shave away some of the digital divide.

See, I don't hate all forms of education (just the overly organized I'm right you're wrong model)

Anyways My CDs are burned (I miss the ability to update my iPod with fresh podcasts) I'm going to go see if I can't collect my brother's boat anchor of a laptop from CompUSA.

Link | 0 Comments |


2006.01.24

What do you want to learn today?

"so by the time they get to 12th grade, they come to college, ahh - now I'm free, I don't have this curriculum shoved down my throat, I'm going to take things that are 'interesting' " -- David Helfand discussing Science Education (Emphasis mine) on Science Firday, Dec 30th 2005

Of the many podcasts I listen to Science Friday and some of the other radio based shows tend not to rank up real high in my listening queue, but they tend to stay in the list. So today one of the ~20 minute ones that coincide with commute to and from school was on What Scientists Owe the Public, with a strong focus on education.

Like nearly all of the similar interviews it takes its shots at No Child Left Behind, the lack of science funding, the need to teach critical thinking, and all the usual suspects, but the above quote about 13 minutes in really hit. As in I listened the clip 5 times, hit me.

As a student, I think most students are aware of the curriculums imposed on them during high school, I certainly was. Curriculums are dry boring documents issued by fat white balding bureaucrats hundreds or thousands of miles away. Most of them probably grew up in an era where enforcing discipline took precedence over all else in the classroom.

It's a document designed to manipulate students. I don't think anyone likes being manipulated, in any way, but certainly not by unknown persons with no real connection to them. I'm sure if you need the obvious explained to you, there are plenty of psychologists out there who will explain how that's even truer when dealing with teenagers trying to assert their individuality.

I'm not going to turn this into an anti-centralization post, that's too vague a solution. I'm not even going to say you should completely overthrow curriculums. No I think educators need to have a very basic list of skills students need to walk away from the class with (ie identify good science and bad science, be able to summarize a novel) but have the flexibility to tailor the lesson plan around to goals to create something that students enjoy.

I don't think its too far fetched. Ask a class what they want to learn. Chances are, they'll always be able to tell you.

Link | 0 Comments |