carlynorama

the blog

Project Blogs on Github vs Central WordPress Set-Up

by Carlyn Maw on January 15, 2018, no comments

I’ve been finding that it is easier to keep notes on my coding processes by maintaining individual project blogs using Jekyll on GitHub than keep this central blog up to date.

At first keeping notes in Jekyll required keeping the documentation in a separate branch which I found a hassle. Now GitHub will read a “docs” folder in the master branch as the Jekyll Source. This means it’s easy to jot notes into text files while working on the code without having to switch out of the text editor I’m already using or swap branches.  Thumbs up.

This blog, while languishing, will not become a Jekyll Blog in the near future. I did an initial export, logging into the database directly with a gem, But I’ve realized, with so many images and embeds the whole process will be time consuming and require touching every single post I’ve written. Not hard, just annoying. Also, it will make posting images harder, not easier. So, while I think in the long run shifting over to a static site generator would have a lot of upside that would make me post here more the change won’t come this quarter. It would be possible to use a local WordPress install and copy the files over, but both server installed WordPress and a GitHub pages Jekyll site have the advantage of being able to update from any computer with an internet connection in a jam.

Pros WordPress Status Quo:

  • Its the current setup
  • Decade+ of personal experience
  • Written in language I already know
  • Very good with handling media of all sorts
  • Very customizable, within certain limits
  • One place for everything

Pros GitHub Jekyll Project Blogs:

  • No database
  • No internet connection required during writing process
  • Can write with local text editor, not in the distracting browser
  • Less hackable
  • Less proscribed model
  • Perfect for coding notes
  • More willing to write EVERYTHING down because quality of post seems like less of a big deal when it’s just “project notes”

Pros Self-hosted Jekyll:

  • Still a giant community, bigger than any other Static Generator
  • Total customization if I learn Ruby.

 

Take Apart Tuesday: iMac G5

by Carlyn Maw on May 17, 2016, 2 comments

Inside a iMac G5

Took apart Tod’s old wonky iMac G5 today.  Might make a little sculpture out of it. It is a nice stand. I think he was hoping it would actually leave the house, but I had a nice little space for it to slide into on my junk shelf.

On a side note my flickr gallery plug-in isn’t working and Flickr itself removed the ability to generate a wordpress gallery… so, that sucks. Why do they have to go and make things less and less usable. I swear. But here is a lame lamezors looking album below. So unpleasing. What are they thinking?

I’ve kept:

  • The speakers, fan and power supply lined up along the bottom
  • The hard drive
  • The optical drive
  • The wifi chip/antennas
  • The inverter
  • The memory chips

iMac G5 Breakdown

Swiftly Sorting Dictionaries on Saturday

by Carlyn Maw on February 6, 2016, no comments

Laptop computer on kitchen counter with small pieces of paper lined up in a row.

Well this took way too long to figure out. I had a typo in a print statement that made it take even longer. Doh.

As it was hard won,  and involved sorting pieces of paper on our tiled kitchen counter to better understand the bubble sort, I thought I’d record the moment.

Fun discovery: an animated comparison of sorting algorithms.


let myDictionary = [
"20" : "banna",
"60" : "apple",
"30" : "cucumber",
"10" : "starfruit"
]
//assume that sort() kinda takes 2 arguments i.e. sort(dictionary element a, dictionary element b)
//woriking its way down the array (http://www.sorting-algorithms.com/bubble-sort)
//compare the 0th assumed parameter(a) with the 1st assumed parameter (b), using the key (0 after decimal)
// < acending, > decending, case sensitive
//rise repeat.
//changed to .sorted in swift 3
let sortedByKeyDictionary = myDictionary.sort { $0.0 < $1.0 }
print("\(sortedByKeyDictionary)")
//compare the 0th (a) with the 1st (b), using the value (1 after decimal)
//rinse repeat.
//changed to .sorted in swift 3
let sortedByValueDictionary = myDictionary.sort { $0.1 < $1.1 }
print("\(sortedByValueDictionary)")

How to Pick a DIY Electronics Project

by Carlyn Maw on January 26, 2015, 2 comments

More testing for the secret project

I’m teaching Introduction to Electronics to a very mixed room of skill levels. To match that reality, I reorganized the syllabus around conceptual themes rather than technical topics.  For each unit, students can either do my default project or pick one of their own that matches the theme.  For example, the first project I am giving them is a DIY continuity tester, but they can do something else if it meets some basic criteria and matches the theme of “On and Off as Information.”

That said, picking a project that matches your abilities is hard to do as a beginner.  Heck, it can even be hard when you are advanced. Sometimes amazing experiences can come from taking on something that ends up being harder than predicted. Sometimes, like for a class or for a client, not so much.  It just needs to get it done.

The below is a list of questions I’ve been working on to get a sense if a project is a match. Some day I’ll turn it in to a rubric or a worksheet of some sort, but smoothing out how to weight the answers will actually be kind of personal. For now simply a list of things to think about is a good start.

Step 1: What kind of challenge are you up for?

The first step is self assessment. This set of questions is the “bank account,” an inventory of time, money and psychological energy that you have to throw at the project. The answers to these questions will change depending on lots of life circumstances that have nothing to do with the actual project itself.  Even the simplest of projects will remained undone if you have too much going on and are doing it because you “should” not because you actually care.  Intrinsic vs Extrinsic motivation is a hot topic in education. It’s worth thinking about for yourself before getting started.

  • How much time do you have to work on THIS project?
    • from “It is for a party tonight and I’m still at work”
    • to “Just got laid off with awesome severance.”
  • How much money do you have budgeted?
    • from “I’m eating ramen every night”
    • to “Can I do this on my Gulf Stream?”
  • How badly do you want the end product?
    • from “Someone is making me”
    • to “This has been my dream since I was 6.”
  • How relevant to other stuff you want to do is the project?
    • from “Not transferrable at all”
    • to “This is how I want to spend my life”
  • How do you handle frustration?
    • from “I throw things across the room and never look at them again.”
    • to “Frustration? What’s frustration? I love it when things don’t work! A new challenge!”
  • How confident are you feeling? 
    • from “I’ve never been able to do anything like this before and I’m scared.”
    • to “I am a GOD.”

Step 2: How clear is the Path?

Now that there is a sense of the “budget,” time to start subtracting the things that will drain from it.   The first set of questions is about the quality of the tutorial or directions. It is much easier to just copy a well done tutorial than invent from scratch something that has never been done before.

  • Is there a tutorial for exactly what you want to build?
    • from “Yes, identical down to the color.” 
    • to “Tutorial? What tutorial? All I saw was a picture on tumblr.”
  • Has the author of the write up has done many other tutorials?
    • from “Super Pro-Published Author. Like on Paper and everything.” 
    • to “looks like one Instructable 5 years ago.” 
  • Do you fall within the target audience for the tutorial?
    • from “Actually, it was written for me specifically. Seriously, my mom wrote it out for me.”
    • to “I’m 5 and it’s a NASA training manual.” (meaning no disrespect to 5 year olds)
  • Is the tutorial complete?
    • from “It’s from a kit that comes with all the parts, a tools list, a Bill of Materials with manufacturer part numbers for reference, a schematic, a github link for the code, illustrations/pictures of every step and a toll-free customer support number.”
    • to “Again, like I said, just a picture on tumblr.
  • Is the tutorial posted somewhere with an active community?
    • from “Yes, it is on Instructables.com, lots of other people have made one, and the author is active in the discussion thread. “
    • from “It is in a book that was written in 1917 that I found in a barn and Google Books hasn’t even scanned it in.”

Step 3: How familiar is the process?

Doing unfamiliar things costs time and energy, even when they don’t cost money. If you don’t have a lot of time and energy, try to limit what percentage of the project will be totally unfamiliar to you. For example, use a familiar circuit in a new enclosure, or a new circuit encased in a material that you use frequently.

  • What percentage of the electrical components have you worked with before?
    • from “100%. I have worked with these exact part numbers before in exactly the same application.”
    • to “0%. Not a one.”
  • What percentage of the non-electrical component materials (for the enclosure, etc) have you worked with before? 
    • from “100%. I have made pretty much the enclosure before, but now I’m just adding LEDs.”
    • to “0%. Not a one.”
  • What percentage of the physical tools have you used before?
    • from “100%. I have made pretty much this before, but now I’m just wiring it up.”
    • to “0%. Not a one.”
  • What percentage of the software tools have you used before?
    • from “100%. I use them all every day the same purpose.”
    • to “0%. Not a one.”
  • If there is programming, have you written anything like it before? Used the libraries?
    • from “100%. I use them all every day the same purpose.”
    • to “0%. Not a one.”

Step 4: Are you ready to roll?

Every item you don’t have on hand is a speed bump. Every piece of software that needs to be installed is a speed bump. If you care about the project, you’ll push through. If you don’t, this will be time you start playing Two Dots… oh, that is me…  This group of questions can be thought of as more points into the bank account for everything that is ready to go, or more points out for everything you’d have to figure out how to source.

  • What percentage of the parts/materials will you have to buy/source?
    • from “0%, Nothing. Got them all right here.”
    • to “100%. Everything. And international shipping by boat will be involved. “
  • Of the parts you have to buy, what percentage of the parts/materials have you bought before?
    • from “0% No clue what package, what tolerances, what specifications will matter to this project at all.
    • to “100% Still got my invoice from the last time I made it and everything worked great. 
  • Do you have the tools on hand? If not, do you know how to get them or get access to them?
    • from “I have NONE of the tools. Not sure even what I’ll need by the end. “
    • to “I have ALL of the tools, and they all live easy reaching of my work station.” 
  • If there is software or development environments involved, are they installed and loaded?
    • from “Nothing is installed and I’ve never done an install of the software before.”
    • to “I use it every day, with custom keyboard shortcuts all set up.”

These questions are a starting point.  No amount of planning can prevent all surprises. In none of the questions do I ask if you have a cat, and they will meddle with everything.  Hopefully though, by identifying what you are prepared to handle, there will be one less half finished project around the house.

Today I Learned: Gold Embrittlement is a Thing.

by Carlyn Maw on January 22, 2015, no comments

A new semester has started at PCC and I am fortunate to have some seriously awesome already professionally employed Electronics Tech’s in my sections. It is so nice to have them. I have come to discover that adjunct teaching in a small (myself + one other adjunct) department is one of the loneliest things to do, pretty much ever.  It is a relief to have them, especially in my second section, when I’m tired and my memory and ability to think definitely starts slipping. One of them even caught a could-have-caught-it-with-5-minutes-of-thinking mistake in the PreTest I gave them.  Doh! (No Carlyn, gold is not more conductive than copper. You knew that).

We talked about soldering yesterday and one of them asked me about if he needed to do anything special to solder to gold (like you have to do to connect copper to aluminum). Honestly, I had no idea. Seemed reasonable that you might.

So this is where I ran into “gold embrittlement.”  When Tin- Lead (PbSn) solder is used to connect to pads or leads that have been protected from oxidation with gold, that gold can mix in with the solder, form crystals and make the solder joint prone to fracture. I haven’t experienced that, to my knowledge, so this was pretty fascinating to me.

According to the IPC link embrittlement is the wrong word to use, it is more about the formation of crystalline structures.  Maybe they are right, because the phrase made Tod (@todbot) think of the gallium invasion of aluminum.  I wonder if the phenomena are related?

Happy Halloween! Processing Jack-o-Lantern

by Carlyn Maw on October 31, 2014, no comments

Hastily written and ready to scare you with its need for refactoring…

See the code on Open Processing

Just FYI, the process I used before didn’t work at first because of wpautop issues. Fixed it with a plugin. Not going to mention which one until I look into security issues.

And now, for a new type of jargon.

by Carlyn Maw on October 18, 2014, 2 comments

It is one of THOSE blog posts. The apology for not having written in awhile, the promise to be better… well, maybe not that part.  I promise to be better starting in January. In the mean time I’m having my ass kicked by trying to develop a community college targeted curriculum on electronics that incorporates that hands on Fail, Fail, Fail, Win ethos from the hacker and maker communities.

The TL;DR for this post: All I really want to do now right now is spend some time writing some gcc compatible C++ code to upload to my ATTiny85 with AVRISP programmer, because all of those words actually mean something to me.

For those of you who don’t know, I am one of the founders of the hackerspce CRASH Space.  Part of CRASH Space’s mission is education, and I am very proud of the work we’ve done on that front. When the opportunity came up to spread some of that love to Pasadena City College, I jumped at the chance. They already have an awesome DesignTech program that feels like home.

Community college teaching combines nicely with the hacker ethos because community colleges focus on folks finding alternative paths to learning than the one classically accepted by society.  The students in my room range from the young and determined to succeed to the older and determined to stay curious.

The broad range of life experiences in the room enriches the experience for everyone.

I haven’t shared a lot of the work I’ve done at PCC yet because it all feels very much in the alpha stage.  After finishing this semester I’ll start putting up some of the projects, etc.

One of my frustrations is that I couldn’t find an existing cohesive curriculum with lesson plans that tolerates differing Math and English skill levels targeted at ADULTS.  It seems you either know calculus already, don’t really care about actually making anything, or are a child. The ones that are close live behind copyrights that make them hard to adapt appropriately.  

Also, what I mean by curriculum now is not what I would have meant by curriculum 10 months ago. What has to be developed to create a state-certifiable curriculum amounts to some pretty insane documentation. I feel a bit like I’ve moved into bizarro world as some of the “New!”©™ fads seem painfully obvious, although incredibly well intentioned.

Here is a list of some of the information I’m preparing:

  • Program Mission/Goals: What your program intends to accomplish for the students and for the surrounding community. For state career and technical schools, there must be state job placement data by relevant career code researched and documented.  At PCC they put it as “Outlines the purpose of the program, identifies stakeholders, and aligns to the mission of the college and the Educational Master Plan (EMP).”
  • Program Level Outcomes: Should finish the sentence “At the end of this program students will be able to ______ [in order to ______]”
  • Program Level Objectives: The more measurable results, how will the school be able to tell that the outcomes being met? A well written Performance Objective contains the student performance, the conditions of that performance, and the criterion for judging success.
  • Program Level Objectives, Map Layout: presented as Curriculum Map where the courses and objectives are placed in a table and it is indicated where each outcome is introduced, practiced and assessed or similar criteria.
  • Alignments: the curriculum needs to show that it can be aligned with standards, National, State, College and National Trade Association standards.
  • Industry Advisory Committees: The future employers of the students get to have a say in what they are learning.
  • Course Student Learning Outcomes:  Should finish the sentence “At the end of this course students will be able to ______ [in order to ______]” They need to be students centered (NEW!) and use words from the right part of the blooms taxonomy list. And ideally cover all three domains of learning: cognitive, affective, psychomotor.
  • Course Student Performance Objectives:  How the instructor intends to tell if the student can indeed deliver on each Learning Outcome. A well written Performance Objective contains the student performance, the conditions of that performance, and the criterion for judging success.
  • Lesson Plans: What are you going to do in the class today?  Learning Outcomes, Performance Objectives, etc.
  • Assessments…. Authentic Assessments: These are the things that get graded (the new hotness, Rigor and Relevance™. Yes, a phrase that represents the idea that work given to students shouldn’t not be a waste of their time, is TRADEMARKED. I kid you not). Don’t forget the rubrics.
  • Assessment Plans: How will the quality of the assessments be assessed.  How will the school be able to tell if the assessment actually indicates mastery of the topic and is fairly written.

The really sad part is that all of these need to be written in a joy-sucking form of English that seems geared towards convincing administrators that no fun will be had by students ever.  It’s weird.  Oh, and did I mention that this all had to be done before even a single course can show up in the course catalog? Talk about the opposite of release early, release often.

I mean, I guess this is all a good thing. The new deliverables represent a desire on the part of schools to update their methodologies and increase accountability. (<-yup, it all sounds like that) I feel the most comfortable with the Assessment Plan part, where time gets budgeted to revise what the students are doing based on data collected from the students. The Ex – Human Factors Professional in me likes that part a lot.

And I’ve learned something about myself. Turns out, I am an advocate of flipped classroom, project based learning based on open source tools within a mastery/competency/proficiency based framework of promotion. Which apparently makes me pretty radical. I can live with that.

<UPDATED 10-28-14>Added the bit about the three domains of learning</UPDATE>

I passed CopyrightX!

by Carlyn Maw on June 13, 2014, no comments

image of certificate indicating that Carlyn maw completed CopyrightX

I passed CopyrightX and what I got was a PDF (and a ton of useful knowledge)

 

But don’t ask me anything, because I passed by the skin of my teeth (and giving legal advice without being a lawyer is illegal.). Apparently lots of coffee does not replace actually having gone to law school.

I started teaching at Pasadena City College during the course and that definitely impacted the amount of time I had to study. However, without question the experience is worth it.  If you want to be kept posted as to how to enroll in the next one sign up at http://copyx.org/get-involved/.

LA Hackerspaces and Intro to Arduino talks slides up on Slideshare

by Carlyn Maw on April 21, 2014, no comments

So it is time for me to start putting up presentations as I do them. I make highly visual slides without many notes, so I’ve assumed they wouldn’t really be useful to anyone else. However, I did a quick talk at the Intel Experience store in December.  It came up that someone wanted to see them, so I’ve posted my first deck to Slideshare.

I use Keynote so the slides posted are a PDF export.

The talk covers:

  • “What is a Hackerspace”
  • “What are our local Hacker/Maker spaces?”
  • “What kind of projects can I learn to make?”
  • “What are some Arduino Basics?”

Quick Continuity Testers From Dollar Store Parts

by Carlyn Maw on April 3, 2014, 3 comments

How fast and how cheaply can test equipment be made? Two can be made for less than 5 dollars, an hour of time and a glass of wine with my sweetheart. A great Wednesday night.

“Real parts”  like a battery holder, mini buzzer and alligator clips along with wire with some solder can be had from the local Radio Shack, but that is way more expensive.  Biggest tip, keep the circuit under 3 Volts. For testing sensitive circuits, it will be time to uplevel.