You've heard of code smells - those whiffy hints that something in the codebase just ain't right? Apropos, I present the below "job smells" - indications that it just may be time polish up that resume and do some job searching.
- When stakeholders ask for acronyms rather than solutions.
- When your boss asks "can't you just" as if "just" somehow abstracts away all the problems.
- When "who gets the meeting room" isn't determined by who has it booked in Outlook and is already set up there, but by the rank of the person wanting the room.
- When your agency's main contact is poorly connected with your supervisor on-site.
- When you never hear any feedback on your work, good or bad.
- When you discover Outlook's limit to the number of active rules because you've got soooooooo many automated emails which need filtering.
- When your company lays people off in a lousy way. That's exactly how you'll be laid off, when it's your time. What's that you say: you'll never be laid off? Oh ho ho ho - that's funny, pookie.
- When people watch how much "ass in chair" time you spend at your desk.
- When you voted "no" on a new hire, but your boss makes the hire anyway, and this person will be the new team leader / manager of you!
- When you'd really rather have a head cold than trudge into the office, regularly.
- When you feel like you have to be someone other than who you are.
- When your CEO thinks you have magic powers which will bless you with that raise.
None of this is about my current job - my present position is super-great. Some of it from hearsay; and some of it is from actual past positions. Just remember, you deserve to have a great job!
Try these weird tricks for introducing yourself and making small-talk at meetups and conferences.
- "What are you working on?" (This is great because even students and non-developers will have something to talk about.)
- "Have you been to this meetup/conference before?"
- "Which talk taught you something new?"
But for heaven's sake, avoid "Can you get me a discount on your company's stuff?" right off the bat.
Placekitten is probably my favorite placeholder image service. In addition to providing kittens, it's got quite a few options:
Here are some notes from a SEO presentation I attended. It's always worth knowing that the basics still matter.
- These days, only one search engine matters. So make the Googlebot's job easy.
- Take a look at Google Web Tools errors and page speed reports. If Google cares, so should you.
- Speed matters; faster is better. Not just because bots rank fast sites higher, but because slower sites increase user bounces, and Google knows when users bounce.
- GZip and minify everything; even third party stuff.
- Deliver assets (imgs, .js, .css) from cookie-less domains.
- Set far-future expiry and expire etags / last modified header.
- Content higher on the page is more important.
- In URLs, content after the ? is parsed, but not after the #.
- The same content (a page) should have one and only one URL. Title tags should be unique per page throughout the site; description tags too.
- In titles, the first words should be the most important ones. Therefore, keep your branding at the end of your title; a straight-up search for your brand is probably already going to turn up your site. Use dashes, not pipes, to separate words in titles; they are joiners, not separators. Think of a pattern like "description" then "keywords" then "brand". Imagine a blank sheet of paper with only your title tag; does it reflect what the web page shows?
- Image alt attributes are still useful for SEO. (Not to mention for accessibility!)
- In links, use
rel="prev/next" if appropriate for a set of links.
- Search engines generally ignore forms - this includes your navigation drop-down menus. Navigation should be text - available without JS or CSS.
- File names matter; uses dashes to separate words.
- Serve the same content to visitors as to search engines.
- The meta description isn't used much in page weight, but it does feed content to the Google Search results.
nofollow isn't necessarily bad, but it's not very effective for page rank sculpting.
- It was a sad day for those in SEO when Google stopped sharing incoming search keywords. If your site has its own search engine, you can use those results to find out what people are looking for on your site.
- Keep an eye on your server error logs for 404, 301 errors and the like. If the page is just obsolete, it's best to pass any Google-juice that they had on to working (and appropriate) URLs.
I recently un-installed my second art show, and I wanted to share some of my learnings and thoughts from it. These art shows are monthly rotating displays of art done by Getty Images employees - not the professional photographers, though there are several regular folks who have photography hobbies at Getty. For my second show, I was invited to put up work from my recent "Screenprinting on Glass" class, which I take at Pratt Fine Arts in Seattle.
This is a Native American style raven image, screenprinted with red enamel onto black glass. I didn't like the results when it first came out of the kiln, so I cut the glass into strips and staggered them a bit before capping it with clear glass and re-firing. The second firing did a much better job of demonstrating the flexibility of glass. After the piece was up for about a week, a colleague bought this piece - hurray!
Art Show Tips:
- If it's for sale, just put the price right out there. Don't make interested buyers ask, or let them think "if I have to ask about the price, it's too expensive". Unless you put bright yellow pricing-gun stickers all over, pricing information isn't going to offend anyone.
- Flat glass art such as the above is amazing as it is. It doesn't need framing to stand out - and doing so will just cover up the inherent coolness of the media. If possible, build hanging or stand-up affordances right into the piece.
- Post a brief biography of yourself and your "artist's statement" as well as a description of the process for your art. This will give even shy visitors some information about why your pieces are interesting.
- I don't have an Etsy site (well I do, but I don't keep it up-to-date). But if I did, I would have printed up some takeaway cards on Moo to point people to the Etsy site.
This year's CascadiaJS was in Portland. The weather was unusually hot, but it was a great conference!
Technology as a Means to Equality - Willow Brugh
Everything you never wanted to know about maps - Patrick Arlt
Contributors wanted: encouraging diversity in your open source project - Kate Hudson
- Scott Page - The Difference
- Diversity of thought in design leads to more complete functionality
- Split up functional areas to reduce domain knowledge dependencies
How To Run A Successful Local User Group - Jason Campbell
- A successful group needs content, organization, and consistency
- Ask other groups in the same space as you for help, not permission
- Experienced developers will only tolerate so many "intro to" talks before not returning
- Curate that which excites you
- Aim for 3 months advance booking for speakers
- Don't pay for a venue - but do exchange some value, such as a recruiting pitch
- Have a single authoritative voice for the attendees. Keep most organizing chatter behind the curtain
- Estimate 2 slices pizza (and 1.5 beers - optional) per attendee. Also have water available
- Don't just let recruiters pitch - trade pitch time for sponsorship, venue, hosting
- Drinks.js - a third space
GIFs vs Web Components - Glen Maddern
- Unpacking .gif frames, and transforming them into web components so as to re-time them
- Polymer: A really nice framework for web components
Decisions, Open Source, Graph Theory, and Static Analysis - Charlie Robbins
- HCI fights for the user
- Analyze the actually utilized code paths to find common use cases for your silent majority
ReInventing the Wheel (The Magic of Custom Event Emitters) - Nick Niemeir
- Fight complexity - one fix, one place
- Async + loop = sad
Your Website is Not Accessible - Alex Qin
- Low bandwith. Low vision. Alternate input. These scenarios will always exist
- Watch this just for the demo of using Voiceover (a screenreader) to read NYT
Bookmarklets FTW: The Case for Bookmarklets in Everyday Life - Lydia Katsamberis
- Kathack: Play Katamari Damacy on any webpage. With theme song
- Chrome's dev tools has Snippet storage
- Just point to an external file to have automatically updating bookmarks
- Yes, you can bring in libraries
- Don't optimize your code by cargo cult! Use tests
- If your texts run too fast to measure, loop them through a few orders of magnitude
- Have your objects share hidden classes
- Use constructor functions
- Uninitialized variables can be re-used (allocation-wise) so they are best
new is optimized.
Writing Robot Plays: NodeJS, Reddit, and The Aesthetics of Unwitting Participation - Joe Lepper
- bot_skit posts to Reddit, and the art happens when users respond
- Learning to Love You More: The artist as muse / curator of ideas and the audience as implementor
- Also see author_bots: using Markov chains to create new strings
- Make things. Change things
Embracing Failure - Soledad Penadés
- IRC confession time
- Learn 10,000 ways that don't work
- Give projects up
- Welcome errors
Cat-DNS: a DNS server that resolves everything to cats - Monica Dinculescu
- The C++ compiler is constantly disappointed in you, just like your mother
- UDP is the honey badger of protocols
- Google's DNS: 184.108.40.206
- If you must link a
- Accessibility comes for free with HTML
- ARIA is frosting / in-fill for accessibility
- ARIA live regions update the screen reader without losing the user's focus
Constantly Losing Stuff: Lessons learned developing and using continuation-local-storage in Node - Forrest Norvell
- Job title: "very good developer"
- Discoverability is a big problem for NPM. Being clever is fun, but please be descriptive and verbose
AllNightRave.js - Floh Herra-Vega
- Party jobs - VJ video processing
- processing-js by John Resig
- Everyone has hardware interfaces in their pockets
- Use sockets to access the phone's accelerometer data
- Github, Travis, Slack
- Mocha/Chai/sinon.js or just use Jasmine
- Give new team members hello-world skeleton tests
- Educate the bosses - track the bugs avoided during regression due to testing
Barriers to Entry - Ruth Baril
- Expanding experiential diversity
- Finding a community - gather the singletons
- Think about how language changes when used in different contexts
- Code suppository #idk101
- Own your hardware - this requires money and technical expertise
- Echoes of the "get yours and get out" from https://the-pastry-box-project.net/garann-means/2014-july-16
Hash Functions Taste Great with Anything - Curtis Lassam
- Damn, Lassam is a good presenter to make such an arcane topic so accessible
- Hash functions vs. hash tables
- Problems: more space, more functions
- Bloom filter = multiple hash functions
- Bozo crack searches Google for already cracked hashes. This is why you need to salt (different seeds) those hashes
- The number one rule of cryptography is to recognize that you are not cleverer than the existing space
Node.js for fun, profit and Whiskey - Jim Heising
Hacking Mentor.js - Marlena Compton & Ryan Dy
- Pick a side project - something that's small enough to finish
- Testing as a defining project
Put A Database On It! - Bryce Baril
- LevelDB - bespoke database movement
- LED buttons!
- Pass the box is a brilliant hardware demo
A Story About NodeSchool and Community Building - Jason Rhodes
- Getting enough speakers is a bottleneck for meet-ups
- Interactions at the bar can exclude people
- Nodeschool is a learn and fix session
- It melds the beginner and advanced users; builds community
- "Someone else started even bottomer."
- Look at how Sunday school allows parents to participate in church services
No More Unicorns - CJ Silverio
- "Why is my community telling me I don't belong?"
- "No one gets to claim we have a pipeline problem."
- Unicorns don't exist
- Instead of stubborn and oblivious, aim for determined and empathetic
- If you value diversity, do it. Hire your values.
- Men overstate. Women understate.
- "Google style" interview questions only identify people who think like you. (Google doesn't even use them anymore.)
If the previous collection of content generators was a little too straight laced, check out these hipper ways to generate placeholder content images and copy.