Tag Archives: cats

Project Floofball and more: Pi pet stuff

Post Syndicated from Janina Ander original https://www.raspberrypi.org/blog/project-floofball-pi-pet-stuff/

It’s a public holiday here today (yes, again). So, while we indulge in the traditional pastime of barbecuing stuff (ourselves, mainly), here’s a little trove of Pi projects that cater for our various furry friends.

Project Floofball

Nicole Horward created Project Floofball for her hamster, Harold. It’s an IoT hamster wheel that uses a Raspberry Pi and a magnetic door sensor to log how far Harold runs.

Project Floofball: an IoT hamster wheel

An IoT Hamsterwheel using a Raspberry Pi and a magnetic door sensor, to see how far my hamster runs.

You can follow Harold’s runs in real time on his ThingSpeak channel, and you’ll find photos of the build on imgur. Nicole’s Python code, as well as her template for the laser-cut enclosure that houses the wiring and LCD display, are available on the hamster wheel’s GitHub repo.

A live-streaming pet feeder

JaganK3 used to work long hours that meant he couldn’t be there to feed his dog on time. He found that he couldn’t buy an automated feeder in India without paying a lot to import one, so he made one himself. It uses a Raspberry Pi to control a motor that turns a dispensing valve in a hopper full of dry food, giving his dog a portion of food at set times.

A transparent cylindrical hopper of dry dog food, with a motor that can turn a dispensing valve at the lower end. The motor is connected to a Raspberry Pi in a plastic case. Hopper, motor, Pi, and wiring are all mounted on a board on the wall.

He also added a web cam for live video streaming, because he could. Find out more in JaganK3’s Instructable for his pet feeder.

Shark laser cat toy

Sam Storino, meanwhile, is using a Raspberry Pi to control a laser-pointer cat toy with a goshdarned SHARK (which is kind of what I’d expect from the guy who made the steampunk-looking cat feeder a few weeks ago). The idea is to keep his cats interested and active within the confines of a compact city apartment.

Raspberry Pi Automatic Cat Laser Pointer Toy

Post with 52 votes and 7004 views. Tagged with cat, shark, lasers, austin powers, raspberry pi; Shared by JeorgeLeatherly. Raspberry Pi Automatic Cat Laser Pointer Toy

If I were a cat, I would definitely be entirely happy with this. Find out more on Sam’s website.

And there’s more

Michel Parreno has written a series of articles to help you monitor and feed your pet with Raspberry Pi.

All of these makers are generous in acknowledging the tutorials and build logs that helped them with their projects. It’s lovely to see the Raspberry Pi and maker community working like this, and I bet their projects will inspire others too.

Now, if you’ll excuse me. I’m late for a barbecue.

The post Project Floofball and more: Pi pet stuff appeared first on Raspberry Pi.

Coding is for girls

Post Syndicated from magda original https://www.raspberrypi.org/blog/coding-is-for-girls/

Less than four years ago, Magda Jadach was convinced that programming wasn’t for girls. On International Women’s Day, she tells us how she discovered that it definitely is, and how she embarked on the new career that has brought her to Raspberry Pi as a software developer.

“Coding is for boys”, “in order to be a developer you have to be some kind of super-human”, and “it’s too late to learn how to code” – none of these three things is true, and I am going to prove that to you in this post. By doing this I hope to help some people to get involved in the tech industry and digital making. Programming is for anyone who loves to create and loves to improve themselves.

In the summer of 2014, I started the journey towards learning how to code. I attended my first coding workshop at the recommendation of my boyfriend, who had constantly told me about the skill and how great it was to learn. I was convinced that, at 28 years old, I was already too old to learn. I didn’t have a technical background, I was under the impression that “coding is for boys”, and I lacked the superpowers I was sure I needed. I decided to go to the workshop only to prove him wrong.

Later on, I realised that coding is a skill like any other. You can compare it to learning any language: there’s grammar, vocabulary, and other rules to acquire.

Log In or Sign Up to View

See posts, photos and more on Facebook.

Alien message in console

To my surprise, the workshop was completely inspiring. Within six hours I was able to create my first web page. It was a really simple page with a few cats, some colours, and ‘Hello world’ text. This was a few years ago, but I still remember when I first clicked “view source” to inspect the page. It looked like some strange alien message, as if I’d somehow broken the computer.

I wanted to learn more, but with so many options, I found myself a little overwhelmed. I’d never taught myself any technical skill before, and there was a lot of confusing jargon and new terms to get used to. What was HTML? CSS and JavaScript? What were databases, and how could I connect together all the dots and choose what I wanted to learn? Luckily I had support and was able to keep going.

At times, I felt very isolated. Was I the only girl learning to code? I wasn’t aware of many female role models until I started going to more workshops. I met a lot of great female developers, and thanks to their support and help, I kept coding.

Another struggle I faced was the language barrier. I am not a native speaker of English, and diving into English technical documentation wasn’t easy. The learning curve is daunting in the beginning, but it’s completely normal to feel uncomfortable and to think that you’re really bad at coding. Don’t let this bring you down. Everyone thinks this from time to time.

Play with Raspberry Pi and quit your job

I kept on improving my skills, and my interest in developing grew. However, I had no idea that I could do this for a living; I simply enjoyed coding. Since I had a day job as a journalist, I was learning in the evenings and during the weekends.

I spent long hours playing with a Raspberry Pi and setting up so many different projects to help me understand how the internet and computers work, and get to grips with the basics of electronics. I built my first ever robot buggy, retro game console, and light switch. For the first time in my life, I had a soldering iron in my hand. Day after day I become more obsessed with digital making.

Magdalena Jadach on Twitter

solderingiron Where have you been all my life? Weekend with #raspberrypi + @pimoroni + @Pololu + #solder = best time! #electricity

One day I realised that I couldn’t wait to finish my job and go home to finish some project that I was working on at the time. It was then that I decided to hand over my resignation letter and dive deep into coding.

For the next few months I completely devoted my time to learning new skills and preparing myself for my new career path.

I went for an interview and got my first ever coding internship. Two years, hundreds of lines of code, and thousands of hours spent in front of my computer later, I have landed my dream job at the Raspberry Pi Foundation as a software developer, which proves that dreams come true.

Animated GIF – Find & Share on GIPHY

Discover & share this Animated GIF with everyone you know. GIPHY is how you search, share, discover, and create GIFs.

Where to start?

I recommend starting with HTML & CSS – the same path that I chose. It is a relatively straightforward introduction to web development. You can follow my advice or choose a different approach. There is no “right” or “best” way to learn.

Below is a collection of free coding resources, both from Raspberry Pi and from elsewhere, that I think are useful for beginners to know about. There are other tools that you are going to want in your developer toolbox aside from HTML.

  • HTML and CSS are languages for describing, structuring, and styling web pages
  • You can learn JavaScript here and here
  • Raspberry Pi (obviously!) and our online learning projects
  • Scratch is a graphical programming language that lets you drag and combine code blocks to make a range of programs. It’s a good starting point
  • Git is version control software that helps you to work on your own projects and collaborate with other developers
  • Once you’ve got started, you will need a code editor. Sublime Text or Atom are great options for starting out

Coding gives you so much new inspiration, you learn new stuff constantly, and you meet so many amazing people who are willing to help you develop your skills. You can volunteer to help at a Code Club or  Coder Dojo to increase your exposure to code, or attend a Raspberry Jam to meet other like-minded makers and start your own journey towards becoming a developer.

The post Coding is for girls appeared first on Raspberry Pi.

Petoi: a Pi-powered kitty cat

Post Syndicated from Alex Bate original https://www.raspberrypi.org/blog/petoi-a-pi-powered-kitty-cat/

A robot pet is the dream of many a child, thanks to creatures such as K9, Doctor Who’s trusted companion, and the Tamagotchi, bleeping nightmare of parents worldwide. But both of these pale in comparison (sorry, K9) to Petoi, the walking, meowing, live-streaming cat from maker Rongzhong Li.

Petoi: OpenCat Demo

Mentioned on IEEE Spectrum: https://spectrum.ieee.org/automaton/robotics/humanoids/video-friday-boston-dynamics-spotmini-opencat-robot-engineered-arts-mesmer-uncanny-valley More reads on Hackster: https://www.hackster.io/petoi/opencat-845129 优酷: http://v.youku.com/v_show/id_XMzQxMzA1NjM0OA==.html?spm=a2h3j.8428770.3416059.1 We are developing programmable and highly maneuverable quadruped robots for STEM education and AI-enhanced services. Its compact and bionic design makes it the only affordable consumer robot that mimics various mammal gaits and reacts to surroundings.


Not only have cats conquered the internet, they also have a paw firmly in the door of many makerspaces and spare rooms — rooms such as the one belonging to Petoi’s owner/maker, Rongzhong Li, who has been working on this feline creation since he bought his first Raspberry Pi.

Petoi Raspberry Pi Robot Cat

Petoi in its current state – apple for scale in lieu of banana

Petoi is just like any other housecat: it walks, it plays, its ribcage doubles as a digital xylophone — but what makes Petoi so special is Li’s use of the project as a platform for study.

I bought my first Raspberry Pi in June 2016 to learn coding hardware. This robot Petoi served as a playground for learning all the components in a regular Raspberry Pi beginner kit. I started with craft sticks, then switched to 3D-printed frames for optimized performance and morphology.

Various iterations of Petoi have housed various bits of tech, 3D-printed parts, and software, so while it’s impossible to list the exact ingredients you’d need to create your own version of Petoi, a few components remain at its core.

Petoi Raspberry Pi Robot Cat — skeleton prototype

An early version of Petoi, housed inside a plastic toy helicopter frame

A Raspberry Pi lives within Petoi and acts as its brain, relaying commands to an Arduino that controls movement. Li explains:

The Pi takes no responsibility for controlling detailed limb movements. It focuses on more serious questions, such as “Who am I? Where do I come from? Where am I going?” It generates mind and sends string commands to the Arduino slave.

Li is currently working on two functional prototypes: a mini version for STEM education, and a larger version for use within the field of AI research.

A cat and a robot cat walking upstairs Petoi Raspberry Pi Robot Cat

You can read more about the project, including details on the various interactions of Petoi, on the hackster.io project page.

Not quite ready to commit to a fully grown robot pet for your home? Why not code your own pixel pet with our free learning resource? And while you’re looking through our projects, check out our other pet-themed tutorials such as the Hamster party cam, the Infrared bird box, and the Cat meme generator.

The post Petoi: a Pi-powered kitty cat appeared first on Raspberry Pi.

The re:Invent 2017 Containers After-party Guide

Post Syndicated from Tiffany Jernigan original https://aws.amazon.com/blogs/compute/the-reinvent-2017-containers-after-party-guide/

Feeling uncontainable? re:Invent 2017 might be over, but the containers party doesn’t have to stop. Here are some ways you can keep learning about containers on AWS.

Learn about containers in Austin and New York

Come join AWS this week at KubeCon in Austin, Texas! We’ll be sharing best practices for running Kubernetes on AWS and talking about Amazon ECS, AWS Fargate, and Amazon EKS. Want to take Amazon EKS for a test drive? Sign up for the preview.

We’ll also be talking Containers at the NYC Pop-up Loft during AWS Compute Evolved: Containers Day on December 13th. Register to attend.

Join an upcoming webinar

Didn’t get to attend re:Invent or want to hear a recap? Join our upcoming webinar, What You Missed at re:Invent 2017, on December 11th from 12:00 PM – 12:40 PM PT (3:00 PM – 3:40 PM ET). Register to attend.

Start (or finish) a workshop

All of the containers workshops given at re:Invent are available online. Get comfortable, fire up your browser, and start building!

re:Watch your favorite talks

All of the keynote and breakouts from re:Invent are available to watch on our YouTube playlist. Slides can be found as they are uploaded on the AWS Slideshare. Just slip into your pajamas, make some popcorn, and start watching!

Learn more about what’s new

Andy Jassy announced two big updates to the container landscape at re:Invent, AWS Fargate and Amazon EKS. Here are some resources to help you learn more about all the new features and products we announced, why we built them, and how they work.

AWS Fargate

AWS Fargate is a technology that allows you to run containers without having to manage servers or clusters.

Amazon Elastic Container Service for Kubernetes (Amazon EKS)

Amazon Elastic Container Service for Kubernetes (Amazon EKS) is a managed service that makes it easy for you to run Kubernetes on AWS without needing to configure and operate your own Kubernetes clusters.

We hope you had a great re:Invent and look forward to seeing what you build on AWS in 2018!

– The AWS Containers Team

“Only a year? It’s felt like forever”: a twelve-month retrospective

Post Syndicated from Alex Bate original https://www.raspberrypi.org/blog/12-months-raspberry-pi/

This weekend saw my first anniversary at Raspberry Pi, and this blog marks my 100th post written for the company. It would have been easy to let one milestone or the other slide had they not come along hand in hand, begging for some sort of acknowledgement.

Alex, Matt, and Courtney in a punt on the Cam

The day Liz decided to keep me

So here it is!

Joining the crew

Prior to my position in the Comms team as Social Media Editor, my employment history was largely made up of retail sales roles and, before that, bit parts in theatrical backstage crews. I never thought I would work for the Raspberry Pi Foundation, despite its firm position on my Top Five Awesome Places I’d Love to Work list. How could I work for a tech company when my knowledge of tech stretched as far as dismantling my Game Boy when I was a kid to see how the insides worked, or being the one friend everyone went to when their phone didn’t do what it was meant to do? I never thought about the other side of the Foundation coin, or how I could find my place within the hidden workings that turned the cogs that brought everything together.

… when suddenly, as if out of nowhere, a new job with a dream company. #raspberrypi #positive #change #dosomething

12 Likes, 1 Comments – Alex J’rassic (@thealexjrassic) on Instagram: “… when suddenly, as if out of nowhere, a new job with a dream company. #raspberrypi #positive…”

A little luck, a well-written though humorous resumé, and a meeting with Liz and Helen later, I found myself the newest member of the growing team at Pi Towers.

Ticking items off the Bucket List

I thought it would be fun to point out some of the chances I’ve had over the last twelve months and explain how they fit within the world of Raspberry Pi. After all, we’re about more than just a $35 credit card-sized computer. We’re a charitable Foundation made up of some wonderful and exciting projects, people, and goals.

High altitude ballooning (HAB)

Skycademy offers educators in the UK the chance to come to Pi Towers Cambridge to learn how to plan a balloon launch, build a payload with onboard Raspberry Pi and Camera Module, and provide teachers with the skills needed to take their students on an adventure to near space, with photographic evidence to prove it.

All the screens you need to hunt balloons. . We have our landing point and are now rushing to Therford to find the payload in a field. . #HAB #RasppberryPi

332 Likes, 5 Comments – Raspberry Pi (@raspberrypifoundation) on Instagram: “All the screens you need to hunt balloons. . We have our landing point and are now rushing to…”

I was fortunate enough to join Sky Captain James, along with Dan Fisher, Dave Akerman, and Steve Randell on a test launch back in August last year. Testing out new kit that James had still been tinkering with that morning, we headed to a field in Elsworth, near Cambridge, and provided Facebook Live footage of the process from payload build to launch…to the moment when our balloon landed in an RAF shooting range some hours later.

RAF firing range sign

“Can we have our balloon back, please, mister?”

Having enjoyed watching Blue Peter presenters send up a HAB when I was a child, I marked off the event on my bucket list with a bold tick, and I continue to show off the photographs from our Raspberry Pi as it reached near space.

Spend the day launching/chasing a high-altitude balloon. Look how high it went!!! #HAB #ballooning #space #wellspacekinda #ish #photography #uk #highaltitude

13 Likes, 2 Comments – Alex J’rassic (@thealexjrassic) on Instagram: “Spend the day launching/chasing a high-altitude balloon. Look how high it went!!! #HAB #ballooning…”

You can find more information on Skycademy here, plus more detail about our test launch day in Dan’s blog post here.

Dear Raspberry Pi Friends…

My desk is slowly filling with stuff: notes, mementoes, and trinkets that find their way to me from members of the community, both established and new to the life of Pi. There are thank you notes, updates, and more from people I’ve chatted to online as they explore their way around the world of Pi.

Letter of thanks to Raspberry Pi from a young fan

*heart melts*

By plugging myself into social media on a daily basis, I often find hidden treasures that go unnoticed due to the high volume of tags we receive on Facebook, Twitter, Instagram, and so on. Kids jumping off chairs in delight as they complete their first Scratch project, newcomers to the Raspberry Pi shedding a tear as they make an LED blink on their kitchen table, and seasoned makers turning their hobby into something positive to aid others.

It’s wonderful to join in the excitement of people discovering a new skill and exploring the community of Raspberry Pi makers: I’ve been known to shed a tear as a result.

Meeting educators at Bett, chatting to teen makers at makerspaces, and sharing a cupcake or three at the birthday party have been incredible opportunities to get to know you all.

You’re all brilliant.

The Queens of Robots, both shoddy and otherwise

Last year we welcomed the Queen of Shoddy Robots, Simone Giertz to Pi Towers, where we chatted about making, charity, and space while wandering the colleges of Cambridge and hanging out with flat Tim Peake.

Queen of Robots @simonegiertz came to visit #PiTowers today. We hung out with cardboard @astro_timpeake and ate chelsea buns at @fitzbillies #Cambridge. . We also had a great talk about the educational projects of the #RaspberryPi team, #AstroPi and how not enough people realise we’re a #charity. . If you’d like to learn more about the Raspberry Pi Foundation and the work we do with #teachers and #education, check out our website – www.raspberrypi.org. . How was your day? Get up to anything fun?

597 Likes, 3 Comments – Raspberry Pi (@raspberrypifoundation) on Instagram: “Queen of Robots @simonegiertz came to visit #PiTowers today. We hung out with cardboard…”

And last month, the wonderful Estefannie ‘Explains it All’ de La Garza came to hang out, make things, and discuss our educational projects.

Estefannie on Twitter

Ahhhh!!! I still can’t believe I got to hang out and make stuff at the @Raspberry_Pi towers!! Thank you thank you!!

Meeting such wonderful, exciting, and innovative YouTubers was a fantastic inspiration to work on my own projects and to try to do more to help others discover ways to connect with tech through their own interests.

Those ‘wow’ moments

Every Raspberry Pi project I see on a daily basis is awesome. The moment someone takes an idea and does something with it is, in my book, always worthy of awe and appreciation. Whether it be the aforementioned flashing LED, or sending Raspberry Pis to the International Space Station, if you have turned your idea into reality, I applaud you.

Some of my favourite projects over the last twelve months have not only made me say “Wow!”, they’ve also inspired me to want to do more with myself, my time, and my growing maker skill.

Museum in a Box on Twitter

Great to meet @alexjrassic today and nerd out about @Raspberry_Pi and weather balloons and @Space_Station and all things #edtech 🎈⛅🛰📚🤖

Projects such as Museum in a Box, a wonderful hands-on learning aid that brings the world to the hands of children across the globe, honestly made me tear up as I placed a miniaturised 3D-printed Virginia Woolf onto a wooden box and gasped as she started to speak to me.

Jill Ogle’s Let’s Robot project had me in awe as Twitch-controlled Pi robots tackled mazes, attempted to cut birthday cake, or swung to slap Jill in the face over webcam.

Jillian Ogle on Twitter

@SryAbtYourCats @tekn0rebel @Beam Lol speaking of faces… https://t.co/1tqFlMNS31

Every day I discover new, wonderful builds that both make me wish I’d thought of them first, and leave me wondering how they manage to make them work in the first place.


We have Raspberry Pis in space. SPACE. Actually space.

Raspberry Pi on Twitter

New post: Mission accomplished for the European @astro_pi challenge and @esa @Thom_astro is on his way home 🚀 https://t.co/ycTSDR1h1Q

Twelve months later, this still blows my mind.

And let’s not forget…

  • The chance to visit both the Houses of Parliment and St James’s Palace

Raspberry Pi team at the Houses of Parliament

  • Going to a Doctor Who pre-screening and meeting Peter Capaldi, thanks to Clare Sutcliffe

There’s no need to smile when you’re #DoctorWho.

13 Likes, 2 Comments – Alex J’rassic (@thealexjrassic) on Instagram: “There’s no need to smile when you’re #DoctorWho.”

We’re here. Where are you? . . . . . #raspberrypi #vidconeu #vidcon #pizero #zerow #travel #explore #adventure #youtube

1,944 Likes, 30 Comments – Raspberry Pi (@raspberrypifoundation) on Instagram: “We’re here. Where are you? . . . . . #raspberrypi #vidconeu #vidcon #pizero #zerow #travel #explore…”

  • Making a GIF Cam and other builds, and sharing them with you all via the blog

Made a Gif Cam using a Raspberry Pi, Pi camera, button and a couple LEDs. . When you press the button, it takes 8 images and stitches them into a gif file. The files then appear on my MacBook. . Check out our Twitter feed (Raspberry_Pi) for examples! . Next step is to fit it inside a better camera body. . #DigitalMaking #Photography #Making #Camera #Gif #MakersGonnaMake #LED #Creating #PhotosofInstagram #RaspberryPi

19 Likes, 1 Comments – Alex J’rassic (@thealexjrassic) on Instagram: “Made a Gif Cam using a Raspberry Pi, Pi camera, button and a couple LEDs. . When you press the…”

The next twelve months

Despite Eben jokingly firing me near-weekly across Twitter, or Philip giving me the ‘Dad glare’ when I pull wires and buttons out of a box under my desk to start yet another project, I don’t plan on going anywhere. Over the next twelve months, I hope to continue discovering awesome Pi builds, expanding on my own skills, and curating some wonderful projects for you via the Raspberry Pi blog, the Raspberry Pi Weekly newsletter, my submissions to The MagPi Magazine, and the occasional video interview or two.

It’s been a pleasure. Thank you for joining me on the ride!

The post “Only a year? It’s felt like forever”: a twelve-month retrospective appeared first on Raspberry Pi.

Weekly roundup: Out of phase

Post Syndicated from Eevee original https://eev.ee/dev/2017/01/23/weekly-roundup-out-of-phase/

As is tradition, I skipped a week because I was busy making a video game with Mel.

The video game is NEON PHASE and I wrote about it and it’s pretty cool.

Between that and our hellcats, I’ve been sleeping terribly again, so things are currently a bit of a slog. I have so much to do. Making slow progress.

Other than that:

  • blog: I wrote the traditional birthday post and the aforementioned post about NEON PHASE.

    I’ve also been putting some effort into re-revamping my list of work, since right now it’s largely a wall of text. Now that I’ve finally registered an account on itch.io, I’ve been putting our previous little games on it, which takes a surprising amount of effort to do well.

  • isaac: I’ve been cherry-picking the NEON PHASE work back to the Isaac HD codebase. It isn’t particularly difficult, just sort of tedious.

  • other game stuff: I’ve been planning NEON PHASE 2 with Mel, and I’m thinking about doing another game jam for February, and I wrote a little linear Twine under tight time constraints.

I’ve also been running through the games made for my jam, playing a few of them each day, which is surprisingly time-consuming. But several dozen little things exist just because I invited people to make stuff, and that’s incredible, and I want to see what that stuff is.

I still need to get out a demo port of Isaac’s Descent (argh) and finish loading SUMO into veekun (ARGH) and then I can get back to the… three? four?? games I seem to be working on at the moment.

Weekly roundup: Out of phase

Post Syndicated from Eevee original https://eev.ee/dev/2017/01/23/weekly-roundup-out-of-phase/

As is tradition, I skipped a week because I was busy making a video game with Mel.

The video game is NEON PHASE and I wrote about it and it’s pretty cool.

Between that and our hellcats, I’ve been sleeping terribly again, so things are currently a bit of a slog. I have so much to do. Making slow progress.

Other than that:

  • blog: I wrote the traditional birthday post and the aforementioned post about NEON PHASE.

    I’ve also been putting some effort into re-revamping my list of work, since right now it’s largely a wall of text. Now that I’ve finally registered an account on itch.io, I’ve been putting our previous little games on it, which takes a surprising amount of effort to do well.

  • isaac: I’ve been cherry-picking the NEON PHASE work back to the Isaac HD codebase. It isn’t particularly difficult, just sort of tedious.

  • other game stuff: I’ve been planning NEON PHASE 2 with Mel, and I’m thinking about doing another game jam for February, and I wrote a little linear Twine under tight time constraints.

I’ve also been running through the games made for my jam, playing a few of them each day, which is surprisingly time-consuming. But several dozen little things exist just because I invited people to make stuff, and that’s incredible, and I want to see what that stuff is.

I still need to get out a demo port of Isaac’s Descent (argh) and finish loading SUMO into veekun (ARGH) and then I can get back to the… three? four?? games I seem to be working on at the moment.

The Raspberry Pi Christmas Shopping List 2016

Post Syndicated from Alex Bate original https://www.raspberrypi.org/blog/the-raspberry-pi-christmas-shopping-list-2016/

Feeling stuck for what to buy the beloved maker in your life? Maybe your niece wants to get into Minecraft hacking, or your Dad fancies his hand at home automation on a budget?

Maybe you’ve seen Raspberry Pi in the news and figure it would be a fun activity for the family, or you’re stuck for what to buy the Pi pro who’s slowly filling your spare room with wires, servers, and a mysterious, unidentified object that keeps beeping?

Whatever the reason, you’re in the right place. The Raspberry Pi Christmas Shopping List is here to help you out.

For the beginner

Here are some of our favourite bits to get them started.

  • A Raspberry Pi Starter Kit will give your budding maker everything they need to get started. There’s a whole host of options, from our own kit to project-specific collections from our friends at The Pi Hut and Pimoroni in the UK, Adafruit in the USA, Canakit in Canada, and RS Components across the globe.

Marc Scott Beginner's Guide to Coding Book

  • They may already have a screen, keyboard, and mouse, but having a separate display allows them free rein to play to their heart’s content. The pi-top takes the form of a laptop, while the pi-topCEED still requires a mouse and keyboard.


CamJam EduKit

For the hobbyist

They’ve been tinkering with LEDs and servo motors for a while. Now it’s time to pull out the big guns.

  • Help to broaden their interest by introducing them to some of the brilliant products over at Bare Conductive. Pair up the Pi Cap with some Electric Paint, and they’ll create an interactive masterpiece by the time the Queen’s Speech is on.

Bare Conductive

  • Add to their maker toolkit with some of the great products in the RasPiO range. The GPIO Zero Ruler will be an instant hit, and a great stocking filler for anyone wanting to do more with the GPIO pins.

GPIO Zero Ruler

Camera Kit Adafruit

For the tech whizz

You don’t understand half the things they talk about at the dinner table, but they seem to be enthusiastic and that’s all that counts.

  • Help them organise their components with a handy Storage Organiser. We swear by them here at Pi Towers.


Helping Hand

  • And then there’s the PiBorg. Treat them to the superfast DiddyBorg and you’ll be hailed as gift-buyer supreme (sorry if you’ll have to better this next year).


  • And then there’s the Raspberry Pi Zero. Check out availability here and buy them the sought-after $5 beast of an SBC.

For the… I really have no idea what to buy them this year

There’s always one, right?

  • A physical subscription to The MagPi Magazine is sure to go down well. And with the added bonus of a free Raspberry Pi Zero, you’ll win this Christmastime. Well done, you!



Stocking fillers for everyone

Regardless of their experience and tech know-how, here are some great stocking fillers that everyone will enjoy.


STEM-ish gifts that everyone will love

These books are top of everyone’s lists this year, and for good reason. Why not broaden the interest of the Pi fan in your life with one of these brilliant reads?

The post The Raspberry Pi Christmas Shopping List 2016 appeared first on Raspberry Pi.

Welcome JC – Our New Office Admin!

Post Syndicated from Yev original https://www.backblaze.com/blog/welcome-jc-new-office-admin/

As the Backblaze office grows we need someone to heard all of our cats (well, in our case dogs). That responsibility used to fall to a bunch of people who were all really really busy with their own workload. Now, that person is JC! And she’s doing an awesome job – we even have a new refrigerator (our previous one was broken for about a year). Lets learn a bit more about JC, shall we?

What is your Backblaze Title?
Office Administrator, or She-Makes-Sure-All-Employees-Are-Hydrated-Caffeinated-And-Fed.

Where are you originally from?
West Philadelphia born and raised…just kidding. I’m a San Jose, California native.

What attracted you to Backblaze?
My friend Chris has worked here for a couple of years. He’s always talked about the great work environment. Backblaze offered a small, family-like atmosphere and chance to grow with and impact a company. You don’t find too many opportunities like this.

What do you expect to learn while being at Backblaze?
More about cloud storage and backup. If someone could teach me how to play ukulele while I’m here that would be great, too.

Where else have you worked?
Just about every mall in the Santa Clara County area. Memorable stores include Hot Topic, Toys “R” Us, and Starbucks. I also enjoy working for local theater companies and have moonlighted as a House Manager, Box Office Manager, Backstage Manager, and Marketing Assistant.

Where did you go to school?
I spent some time going to Sacramento State University before transferring to San Jose State University where I earned my B.S. in Psychology, and a secondary B.A. in Theater Arts.

What’s your dream job?
Actress/Full-time Vlogger. I really enjoy performing and entertaining.

Favorite place you’ve traveled?
The United Kingdom. I was incredibly lucky to take a senior trip and do a theater tour of the UK. I enjoyed all the tourist sites as well as getting some time to enjoy productions in the West End and see a performance by the Royal Shakespeare Company.

Favorite hobby?
Did I mention theater? Aside from the performing arts I also enjoy playing World of Warcraft and RPGs.

Of what achievement are you most proud?
A couple of years ago I completed a half marathon. It’s now a new goal of mine to finish a full marathon.

Star Trek or Star Wars?
Both? I feel the Star Wars movies are far superior over the Star Trek movies, and I grew up watching Star Trek: The Next Generation.

Coke or Pepsi?
Pepsi. This is what happens when you go to a California State University. They have an agreement with Pepsi and that’s all you get.

Favorite food?
Burritos! It can breakfast, lunch or dinner. You can fill it with leftovers. You can get creative and throw in all kinds of crazy combinations. Did you know they make sushi burritos? And it is, by far, the most convenient food to eat whilst driving.

Why do you like certain things?
Well, on a physical level my reward center is activated in my basal ganglia portion of my brain, and dopamine is released creating a sense of pleasure or reward. On an emotional/spiritual level I usually like things because I have a connection with them.

Anything else you’d like you’d like to tell us?
I often talk about my cat, Disneyland, or YouTube. I’m obsessed.

We keep hiring people that love Disneyland. We might have to have a company off-site there eventually. Thank you for keeping our shiny new fridge stocked and for helping us keep our office under control!

The post Welcome JC – Our New Office Admin! appeared first on Backblaze Blog | Cloud Storage & Cloud Backup.

"Dogs Raise Fireworks Threat Level to ‘Gray’"

Post Syndicated from Bruce Schneier original https://www.schneier.com/blog/archives/2016/07/dogs_raise_fire.html


The Department of Canine Security urges dogs to remain on high alert and employ the tactic of See Something, Say Something. Remember to bark upon spotting anything suspicious; e.g. firecrackers, sparklers, Roman candles, cats, squirrels, mail carriers, shadows, reflections, other dogs on TV, etc.

Weekly roundup: spring cleaning

Post Syndicated from Eevee original https://eev.ee/dev/2016/06/06/spring-cleaning/

June’s theme is, ah, clearing my plate! Yes, we’ll try that again; I have a lot of minor (and not-so-minor) todos that have been hanging over my head for a long time, and I’d like to clear some of them out. I also want to do DUMP 3 and make a significant dent in Runed Awakening, so, busy busy.

  • blog: I published a very fancy explanation of Perlin noise, using a lot of diagrams and interactive things I’d spent half the previous week making, but it came out pretty cool! I also wrote about how I extracted our game’s soundtrack from the PICO-8. And I edited and published a two-year-old post about how I switched Yelp from tabs to spaces! I am on a roll and maybe won’t have to write three posts in the same week at the end of the month this time.

    I did a bit of work on the site itself, too. I linked my Mario Maker levels on the projects page. I fixed a PARTYMODE incompatibility with Edge, because I want my DHTML confetti to annoy as many people as possible. I fixed a silly slowdown with my build process. And at long last, I fixed the   cruft in the titles of all my Disqus threads.

  • gamedev: I wrote a hecka bunch of notes for Mel for a… thing… that… we may or may not end up doing… but that would be pretty cool if we did.

  • patreon: I finally got my Pokémon Showdown adapter working well enough to write a very bad proof of concept battle bot for Sketch, which you can peruse if you really want to. I had some fun asking people to fight the bot, which just chooses moves at complete random and doesn’t understand anything about the actual game. It hasn’t won a single time. Except against me, when I was first writing it, and also choosing moves at complete random.

    I rewrote my Patreon bio, too; now it’s a bit more concrete and (ahem) better typeset.

  • doom: I started on three separate ideas for DUMP 3 maps, though I’m now leaning heavily in favor of just one of them. (I’d like to continue the other two some other time, though.) I did a few hours of work each day on it, and while I’m still in the creative quagmire of “what the heck do I do with all this space”, it’s coming along. I streamed some of the mapping, which I’ve never done before, and which the three people still awake at 3am seemed to enjoy.

  • SLADE: I can’t do any Doom mapping without itching to add things to SLADE. I laid some groundwork for supporting multiple tags per sector, but that got kinda boring, so I rebased my old 3D floors branch and spruced that up a lot. Fixed a heckton of bugs in it and added support for some more features. Still a ways off, but it’s definitely getting there.

  • art: I drew a June avatar! “Drew” might be a strong word, since I clearly modified it from my April/May avatar, but this time I put a lot of effort (and a lot of bugging Mel for advice) into redoing the colors from scratch, and I think it looks considerably better.

  • spring cleaning: Sorted through some photos (i.e. tagged which cats were in them), closed a few hundred browser tabs, and the like.

Wow, that’s a lot of things! I’m pretty happy about that; here’s to more things!

Weekly roundup: spring cleaning

Post Syndicated from Eevee original https://eev.ee/dev/2016/06/06/weekly-roundup-spring-cleaning/

June’s theme is, ah, clearing my plate! Yes, we’ll try that again; I have a lot of minor (and not-so-minor) todos that have been hanging over my head for a long time, and I’d like to clear some of them out. I also want to do DUMP 3 and make a significant dent in Runed Awakening, so, busy busy.

  • blog: I published a very fancy explanation of Perlin noise, using a lot of diagrams and interactive things I’d spent half the previous week making, but it came out pretty cool! I also wrote about how I extracted our game’s soundtrack from the PICO-8. And I edited and published a two-year-old post about how I switched Yelp from tabs to spaces! I am on a roll and maybe won’t have to write three posts in the same week at the end of the month this time.

    I did a bit of work on the site itself, too. I linked my Mario Maker levels on the projects page. I fixed a PARTYMODE incompatibility with Edge, because I want my DHTML confetti to annoy as many people as possible. I fixed a silly slowdown with my build process. And at long last, I fixed the   cruft in the titles of all my Disqus threads.

  • gamedev: I wrote a hecka bunch of notes for Mel for a… thing… that… we may or may not end up doing… but that would be pretty cool if we did.

  • patreon: I finally got my Pokémon Showdown adapter working well enough to write a very bad proof of concept battle bot for Sketch, which you can peruse if you really want to. I had some fun asking people to fight the bot, which just chooses moves at complete random and doesn’t understand anything about the actual game. It hasn’t won a single time. Except against me, when I was first writing it, and also choosing moves at complete random.

    I rewrote my Patreon bio, too; now it’s a bit more concrete and (ahem) better typeset.

  • doom: I started on three separate ideas for DUMP 3 maps, though I’m now leaning heavily in favor of just one of them. (I’d like to continue the other two some other time, though.) I did a few hours of work each day on it, and while I’m still in the creative quagmire of “what the heck do I do with all this space”, it’s coming along. I streamed some of the mapping, which I’ve never done before, and which the three people still awake at 3am seemed to enjoy.

  • SLADE: I can’t do any Doom mapping without itching to add things to SLADE. I laid some groundwork for supporting multiple tags per sector, but that got kinda boring, so I rebased my old 3D floors branch and spruced that up a lot. Fixed a heckton of bugs in it and added support for some more features. Still a ways off, but it’s definitely getting there.

  • art: I drew a June avatar! “Drew” might be a strong word, since I clearly modified it from my April/May avatar, but this time I put a lot of effort (and a lot of bugging Mel for advice) into redoing the colors from scratch, and I think it looks considerably better.

  • spring cleaning: Sorted through some photos (i.e. tagged which cats were in them), closed a few hundred browser tabs, and the like.

Wow, that’s a lot of things! I’m pretty happy about that; here’s to more things!

Learning to draw, learning to learn

Post Syndicated from Eevee original https://eev.ee/blog/2016/05/06/learning-to-draw-learning-to-learn/

On January 1, 2015, I started learning to draw.

I’d made a couple brief attempts before, but nothing very serious. I’d eyeballed some official Pokémon artwork on two occasions, and that was pretty much it. I’d been dating an artist for seven years and had been surrounded by artist friends for nearly half my life, but I’d never taken a real crack at it myself.

On some level, I didn’t believe I could. It seemed so far outside the range of things I was already any good at. I’m into programming and math and computers and puzzles; aesthetics are way on the opposite end of a spectrum that only exists inside my head. Is it possible to bridge that huge, imaginary gap? Is it even allowed? (Spoilers: totally.)

In the ensuing sixteen months, a lot of people have — repeatedly — expressed surprise at how fast I’ve improved. I’ve then — repeatedly — expressed surprise at this surprise, because I don’t feel like I’m doing anything particularly special. I don’t have any yardstick for measuring artistic improvement speed; the artists I’ve known have always been drawing for years by the time I first met them. Plenty of people start drawing in childhood; not so many start at 27.

On the other hand, I do have 15 years’ experience of being alright at a thing. I suspect, in that time, I’ve picked up a different kind of skill that’s undervalued, invaluable, and conspicuously lacking from any curriculum: how to learn!

I don’t claim to be great at art, or even necessarily great at learning, but here are some things I’ve noticed myself doing. I hope that writing this down will, at the very least, help me turn it into a more deliberate and efficient process — rather than the bumbling accident it’s been so far.

Crude pencil comic from Jan 1, 2015

I started out doing daily comics, just because Mel was also doing them. The first one was… not terribly great. It hadn’t even occurred to me to bump the contrast on this photo.

At this point I was vaguely aware of some extreme basics:

  • things are made of shapes
  • faces are two dots with a mouth under them
  • arms have some kinda little stubs at the end
  • you can do a squiggle to kind of make fur

I’ve had people tell me I was already drawing better than them here. I can see how I might’ve had a tiny bit of a head start: I do live with two artists, and clumsy attempts at web design have given me a slight appreciation for whitespace and composition. Still, I don’t think this is wildly beyond anyone’s ability.

The most important thing was probably the idea of daily comics, which got me to draw at least one thing a day — several, in fact, since they’re comics. I kept this up through the end of March, at which point I just plain ran out of ideas for comics. There are only so many ways to draw “I worked on computer stuff and also my cat does funny things”. But that’s still 90 days, times an average of at least two panels per comic, which is hundreds of drawings. My first insight is thus:

Do the thing. Do it a lot. No, don’t “practice”. “Practice” sounds rote and repetitive; even reading the word makes me feel pre-emptively bored. Just do it. Find an excuse to do it. Any excuse. You want to write embarrassing fanfiction? Do it. You want to make four-chords pop songs? Do it. You don’t need to do something high-brow or rigorous or chosen from a careful gradient of boring beginner exercises. You just need to something.

Even better, do something regularly and release it publicly (or at least to a moderate circle of people). It helps to have some light pressure, and posting something every day starts to feel like it’s expected of you, even if you’ve never explicitly promised anything.

If it starts to feel like too much of a drag, you can always drop it and try something else. You can take a break for a while, you can do some personal work, you can do whatever self-hack will help you keep doing something.

Digital painting of a landscape from an interesting angle from March 26, 2015

Mel’s birthday is March 26. On March 19, 2015, our roommate gave me his old drawing tablet. I spent most of the ensuing week on the above digital painting.

I’d only colored anything a couple things at this point, all of them basically flood-filled. I hadn’t tried shading, backgrounds, textures, colored lines, perspective.

Naturally, I tried all of them at once. Some of these experiments were, er, more successful than others. (Along similar lines, this year, I animated something for the first time.)

Regardless of the outcome, I’d now done my best at all of these things at least once, and learned a lot about each of them.

I’m reminded of every introductory beginner guide to anything ever, which introduces one concept at a time and carefully shields you from anything you haven’t seen yet. Or stories of programming teachers who will actually chide a student for using something they haven’t been taught yet.

Fuck that noise. Dive in; keep trying things you’ve never tried before. It’s how babies learn a language, which I think is pretty impressive, given that they didn’t already know one. Parents don’t restrict their speech to single-word sentences until the baby has caught on, and then start introducing nouns. They talk normally. The baby marinates in the language and picks it up over time by playing with it, starting with whatever’s most accessible.

And hey, this works for adults too. I’m pretty sure being dropped in a country where no one speaks your native tongue will have you picking up a second language much more quickly than taking night classes and having artificial conversations about dinner dates. The only real advantage a baby has is a complete lack of obligations, so they’re free to sit and listen to people talk all day.

Series of eight roughly increasingly better avatars

I figured another way to do the thing and dive in would be to finally draw my own avatar.

This took a few attempts.

The first two were in March, and I used the first one for a while. 3 through 5 were all done in June in an attempt to replace the first one with something better, but all went unused. Number 6 was the first real success, lasting through the end of the year with a few seasonal variations. 7 was an attempt to update it earlier this year, and the last one is only a few weeks old and is my current avatar.

Some of these are really bad, but I can look at them and tell exactly what I was trying to do.

  1. I didn’t even draw this; I made it with vectors, using the mouse, because I couldn’t draw well enough to make it otherwise.

  2. Drawn by hand with a tablet.

  3. The angle worked out really poorly last time, so I tried working around that by aiming from straight ahead. The ears are no longer solid blobs. There are eyebrows! The nose is shaped more like a nose. The previous colors kinda clashed, so this is more reddish overall.

  4. Straight-on didn’t work out and is hardly identifiable as anything, so back to angled. Still trying to work out pupils. Right ear is drawn behind the bow, so it doesn’t look like the bow is holding it on. I don’t understand mouths, so I’ll cheat and do a smirk instead.

  5. More angled, moved upwards to center the face. Shaded and colored the lines this time. Still trying to work out pupils. Around this time I was trying to figure out how ears on the far side of the head work, and something catastrophic happened here. I was waffling on whether the insides of the ears should have one line or two, so I tried compromising with one line plus a shadow. Bow has a bit of ribbon sticking out, as a hint that it’s tied on and not just glued there.

  6. Made the lines much thicker, so they wouldn’t vanish when shrunk down. Kept the shapes simple for the same reason. Pupils reduced to dots, which actually works just fine. Fluff details are bigger, which helps cohesion. Background color matches the bow color, which helps tremendously. Mouth finally works by being aligned with the bottom of the nose. Shape of the muzzle protrusion is, finally, big enough.

  7. More detailed bow shape. Bow is now clearly tied to the ear. Insides of ears are rendered again. Entire mouth line is shown. Some shading is present again. Pupils have expanded, but not too much, and have a glint again. Lines are colored again.

  8. Small fluff details made bigger again. Background is greener to avoid the clash from last time. Mouth is open and has the little corner crease. Lines rethickened. Dropped the shaded lines, since they didn’t work out last time, but kept the lines as mostly a single non-black color. Thickened the white double outline, which looked goofy in #6 when it was thinner than the regular outline.

In every case I was trying to improve on something that hadn’t gone well before. In every case I was trying to make the best avatar I had ever made. Sometimes that meant trying something I hadn’t tried before; sometimes that meant dropping something that hadn’t worked before; sometimes that meant resurrecting something and fiddling with it until it worked.

Always try to do the best work you’ve ever done. The key is that “best” is entirely subjective, and you can define it however you want! I was terrible at drawing digitigrade legs (like cats’ back legs) for the longest time, so for a while my definition of “best” was “has the best legs I’ve ever drawn”. Pick whatever axes you like. Vary them regularly, too — both to avoid burnout and to avoid concentrating on one thing over all else.

I had a high school teacher who liked to say that “practice makes perfect” is wrong; rather, “perfect practice makes perfect”. I don’t think that phrasing is any more illuminating, but I get his point: repeating exactly the same thing over and over will only make you better at that one thing. Incremental improvement is how you progress. (Hmm, I guess that’s not as catchy.)

There’s a catch to doing this effectively, which might as well be its own bolded quip.

Learn how to tell what’s wrong. This is a tricky muscle to exercise deliberately, but the better you get at it, the more (and more quickly) you can learn from your mistakes. Eventually you learn not to make them in the first place.

Are you a programmer? Spot the problems in this snippet of some C-like language:

if (won = true)
    print("You did it!");
    print("You failed!");
    print("Press any key to try again.");

They probably stick out to you like a sore thumb. You’ve seen and made these basic mistakes so many times that your eye has learned to recoil from the very shape of them. You’re far less likely to make them now, because the moment you make the mistake, your brain vomits a little.

Unfortunately, this is something that only comes with experience, so you’ll just have to slog through making the baby mistakes. Asking for expert advice helps a little, but I think it mostly helps you find the mistake in the first place, so you can notice it again yourself next time. Spotting your own fuckups engraves them into your brain much more effectively than having them pointed out to you.

The one hack I can think of is to drown yourself in good work. The best you can find. If you get a sense for what good work is like, you might at least get the sense that something is off about your own, which is a first step to figuring out what the problem is.

You know how some people are “naturally” talented at a thing? It just “clicks” for them? I strongly suspect their actual natural talent is more about understanding their own mistakes in a particular kind of work, which lets them skip over a lot of the boring beginner part where you fumble around uselessly.

Several pixel art landscapes

Know what’s possible. Every skill has its own toolbox, and part of learning the skill is learning what’s in the toolbox. Being familiar with image editing software has been hugely helpful for experimenting with art; for example, changing the color of your lines is trivial if you know how to use alpha lock. If you don’t know, will you even suspect it exists?

I recall a Doom Let’s Play with a conversation that went like this:

A: Ah, these textures are misaligned. It’s so easy to fix, too; you can just press A in Doom Builder to align everything across several walls.

B: Wait, really? I always do it manually.

A: What? Are you serious? So when you have a big curve made out of a lot of pieces—

B: That’s why I don’t make big curves out of a lot of pieces!

If you think something is impossible (or at least impractical), you cut yourself off from whole areas of experimentation.

Listen to more experienced people when they talk about how they work. Poke around your tools and see what all the buttons do. Come up with your own tricks — it sure worked for Bob Ross.

What does this have to do with pixel art? Not much. Pixel art relates to a rough converse of this, which is that sometimes, it’s nice to limit what’s possible. I’d never really given pixel art a try until I made these last month, and it turned out to be a really fun medium. With the drastically lower resolution and a pre-chosen fixed palette (made by someone else), I was forced to forget about how smooth my curves are or how to pick colors that work well together. Instead, I was free to play with the effects different colors have on each other, experiment with light and shading in a very simple way, and add in small details that I’d usually not think about.

Similarly, I’m now trying out the PICO-8 “fantasy console”, a tiny virtual video game system with some fairly severe restrictions. As a result, after a couple days of effort, I’m much closer to having a (graphical!) video game written than I ever have been before. I’m capable of making my own sprites now, and there can’t be too many of them anyway. Even the music editor is simple enough that I can make a passable tune. If I’d tried to make a little platformer in some massively-powerful general-purpose game engine, I’d have drowned in all the resources and code I’d need to find or create. Which has happened before. Probably more than once.

A blank canvas can be overwhelming sometimes; infinite possibilities are a lot to sift through. Cutting down on those options is freeing in its own way.

Pi Day comic, in 2015 and 2016

Step back and acknowledge your progress.

Learning a thing is frustrating sometimes. A lot of the time, even. Progress is slow and incremental, and on any given day, you won’t feel any better than you were the previous day.

Keep your old stuff around. Look at it from time to time so you can actually see how far you’ve come.

I drew these one year apart. I’m still not great — I immediately see half a dozen things in the more recent version that make me wince. But I’m better.

Illustration of a few critters at the circus

I think this is the most recent thing I’ve finished. It’s certainly a far cry from some pencil scribbles.

I hope I can get much better at this. Expressing ideas visually feels like a superpower — I can take vague images in my head and inject them directly into other people’s eyeballs. It keeps turning out to be useful, too: I’ve drawn myself avatars and banners, I drew the header for this site, I can draw sprites and illustrations for my own little games. It even taught me a few things that turned out to be useful for level design.

So, learn a lot of things. Try radically new things from time to time. Write a poem, bake a cake, make a video game. You’ll have experienced making something new, and you never know when that experience might come in handy. Doing rudimentary web design turned out to give me a head start at understanding color; who would’ve guessed?

I’m only writing this post now because I just realized that I hit a breakthrough point. I don’t really know how to explain it precisely in terms of art, so let me try language instead.

A very frustrating stage of learning a new (spoken) language is the late-beginner stage. You know the basic grammar and understand how the language is generally put together; you just don’t know many words. Learning resources are starting to dry up — everything’s always written for complete beginners — but you struggle to transition to learning from real native media, because you have to stop to look up every other word.

If you stick with it, you’ll eventually claw your way up to a kind of critical mass, where you know enough vocabulary that you can start to pick up the rest from context. You no longer need to spend ten minutes fishing through a dictionary just to understand what someone is talking about, and can instead focus on picking up nuance and idioms and more complex grammar. From there, you can accelerate.

I sense I’ve hit a similar kind of critical mass with drawing. I spent a long time fighting just to get my hand to draw the shapes I wanted, which got in the way of learning what shapes I should want in the first place. I realized only days ago that I don’t have this problem nearly so much any more.

That means I can now experiment with different kinds of shapes! It means I can play with line thickness and rely less on undo, because I don’t have to worry that I won’t be able to redraw a line. It means I can try painting more instead of always having a separate lineart layer. I can try more stuff without struggling with the basics.

It took a while to get here, but it’s paying off, and it’s been pretty cool to watch happen.

Weekly roundup: pixel perfect

Post Syndicated from Eevee original https://eev.ee/dev/2016/04/25/weekly-roundup-pixel-perfect/

April’s theme is finish Runed Awakening.

Mel is out of town, so I’m being constantly harassed by cats.

  • irl: I cleaned the hell out of my room.

  • Runed Awakening: I finally figured out the concept for a decent chunk of the world, and built about half of it. I finally, finally, feel like the world and plot are starting to come together. I doubt I’ll have it feature-complete in only another week, but I’m miles ahead of where I was at the beginning of the month. The game is maybe 40% built, but closer to 80% planned, and that’s been the really hard part.

    I’d previously done two illustrations of items as sort of a proof of concept for embedding images in interactive fiction. A major blocker was coming up with a palette that could work for any item and keep the overall style cohesive. I couldn’t find an appropriate palette and I’m not confident enough with color to design one myself, so the whole idea was put on hold there.

    Last week, a ludum dare game led me to the DB32 palette, one of the few palettes I’ve ever seen that has as many (!) as 32 colors and is intended for general use. I grabbed Aseprite at Twitter’s suggestion (which turns out to default to DB32), and I did some pixel art, kind of on a whim! Twitter pretty well destroyed them, so I posted them in a couple batches on Tumblr: batch 1, batch 2, and a little talking eevee portrait.

    I don’t know if the game will end up with an illustration for every object and room — that would be a lot of pixels and these take me a while — but it would be pretty neat to illustrate the major landmarks and most interesting items.

  • spline/flora: I wrote a quick and dirty chronological archive for Flora. I then did a bunch of witchcraft to replace 250-odd old comic pages with the touched-up versions that appear in the printed book.

  • blog: I wrote about elegance. I also started on another post, which is not yet finished. It’s also terrible, sorry.

Twitter’s missing manual

Post Syndicated from Eevee original https://eev.ee/blog/2016/02/20/twitters-missing-manual/

I mentioned recently, buried in a post about UI changes, that Twitter’s latest earnings report included this bombshell:

We are going to fix the broken windows and confusing parts, like the [email protected] syntax and @reply rules, that we know inhibit usage and drive people away

There’s an interesting problem here. UI is hard. You can’t just slap a button on the screen for every feature that could conceivably be used at any given time. Some features are only of interest to so-called “power users”, so they’re left subtle, spread by word-of-mouth. Some features you try to make invisible and heuristic. Some features are added just to solve one influential user’s problem. Some features are, ah, accidental.

A sufficiently mature, popular, and interesting product thus tends to accumulate a small pile of hidden features, sometimes not documented or even officially acknowledged. I’d say this is actually a good thing! Using something for a while should absolutely reward you with a new trick every so often — that below-the-surface knowledge makes you feel involved with the thing you’re using and makes it feel deeper overall.

The hard part is striking a balance. On one end of the spectrum you have tools like Notepad, where the only easter egg is that pressing F5 inserts the current time. On the other end you have tools like vim, which consist exclusively of easter eggs.

One of Twitter’s problems is that it’s tilted a little too far towards the vim end of the scale. It looks like a dead-simple service, but those humble 140 characters have been crammed full of features over the years, and the ways they interact aren’t always obvious. There are rules, and the rules generally make sense once you know them, but it’s also really easy to overlook them.

Here, then, is a list of all the non-obvious things about Twitter that I know. Consider it both a reference for people who aren’t up to their eyeballs in Twitter, and an example of how these hidden features can pile up. I’m also throwing in a couple notes on etiquette, because I think that’s strongly informed by the shape of the platform.


  • Tweets are limited to 140 Unicode characters, meaning that even astral plane characters (such as emoji) only count as one.

  • Leading and trailing whitespace is stripped from tweets.

  • Tweets may contain newlines, and there doesn’t seem to be any limit to how many.

  • In the middle of a tweet, strings of whitespace (e.g. multiple spaces) are preserved. However, more than two consecutive newlines will be reduced to only two.

  • Anything remotely resembling a link will be mangled into some http://t.co/asdf link-shortened garbage. In some cases, such as when talking about a domain name, this can make the tweet longer. You can defeat this by sticking an invisible character, such as U+200D ZERO WIDTH JOINER, around the final dot so it no longer looks like a domain name.

    In official clients, links are shown unmangled, but without the protocol and truncated to about 20 characters. The link to this article, for example, shows as eev.ee/blog/2016/02/2…. However, at least on Web Twitter, copy-pasting preserves the link in full, including protocol.

    Note that Twitter’s knowledge of domains is not exhaustive — it will link “google.com” but not “eev.ee”.

  • For the sake of its SMS-based roots, Twitter supports performing several commands by typing them in a tweet. In particular, if you start a tweet with the word d or m or dm, the second word will be treated as a username, and the rest of the tweet will be DM’d to that user.

  • Accounts managed by multiple people, such as support accounts or politicians’ accounts, sometimes sign tweets with a ^ followed by the author’s initials. This has no special significance to Twitter.

  • You cannot use astral plane characters (which includes most emoji) in your display name or bio; they will be silently stripped. However, you can use anything from the Miscellaneous Symbols or Dingbats blocks, and many of these characters are rendered with color glyphs on Web Twitter. Results may vary on phones and in other clients.

Replies and mentions

A tweet can “mention” other users, which just means including their @handle somewhere in the tweet. This will notify every mentioned user of the tweet.

You can reply to tweets, which threads them together. A tweet can only have one parent (or no parent), but any number of replies. Everything on Twitter is thus arranged into a number of trees, where the root of the tree is a new tweet not responding to anything, and replies branch out from there.

  • A tweet that begins with a mention — that is, the very first character is @ and it’s immediately followed by an extant username — won’t appear on your profile on Web Twitter. It’ll still appear on the “with replies” page. It’ll also appear on your profile on Android Twitter, which doesn’t separate replies from not.

  • A “mention” can only be an existing username. If “foo” is not the name of a user, then @foo is not a mention, and none of the rules for mentions apply.

  • A tweet that begins with a mention won’t appear on the timelines of anyone who follows you, unless they also follow the first person you mention. That is, if you tweet @foo @bar heya, it’ll only appear on the timelines of people who follow both you and @foo.

  • If you put some other character before the first @, the previous rule no longer applies, and your tweet will appear to all your followers. So [email protected] @bar heya will be visible to everyone (and show on your Web profile). This is called “dot-replying”. The dot isn’t actually special; it’s just an easy-to-type and unobtrusive character. I like to use or . Some people prefer to put the mentions at the end instead, producing heya @foo @bar.

    Dot-replying in the middle of a tweet is not strictly necessary, but sometimes it’s useful for disambiguation. If you’re replying to @foo, and want to say something about @bar, it would come out as @foo @bar is pretty great, which is a little difficult to read. Adding a dot to make @foo [email protected] doesn’t do anything as far as Twitter is concerned, but can make it clear that @bar is the subject of a sentence rather than a person being talked to.

  • One last visibility wrinkle: if a tweet appears in your timeline because it begins with a mention of someone you follow, the tweet it replies to will also appear, even if it wouldn’t have on its own.

    Consider three users: A, B, and C. You follow B and C, but not A. User A makes a tweet, and B replies to it (@A cool!). Neither tweet will appear on your timeline — A’s won’t because you don’t follow A, and B’s won’t because it begins with a mention of someone you don’t follow. Then C replies to B’s tweet, which puts the mention of B first (see below). Both B’s and C’s tweets will now appear on your timeline — C’s appears because it begins with a mention of someone you do follow, and B’s appears for context.

    In other words, even if a tweet doesn’t appear on your timeline initially, it may show up later due to the actions of a third party.

  • A reply must, somewhere, mention the author of the tweet it’s replying to. If you reply to a tweet and delete the author’s @handle, it’ll become a new top-level tweet rather than a reply. You can see this in some clients, like Android Twitter: there’s “replying to (display name)” text indicating it’s a reply, and that text disappears if you delete the @handle.

  • There is one exception to the previous rule: if you’re replying to yourself, you don’t have to include your own @handle, even though clients include it by default. So if you want to say something that spans multiple tweets, you can just keep replying to yourself and deleting the @handle. (This is sometimes called a “tweetstorm”.)

    It’s a really good idea to do this whenever you’re making multiple tweets about something. Otherwise, someone who stumbles upon one of the tweets later will have no idea what the context was, and won’t be able to find it without scrolling back however long on your profile.

    If you reply to yourself but leave your @handle at the beginning, the first tweet will appear on your profile, but the others won’t, because they start with a mention. On the other hand, letting the entire tweetstorm appear on your profile can be slightly confusing — the individual tweets will appear in reverse order, because tweets don’t appear threaded on profiles. On Web Twitter, at least, the followups will have a “view conversation” link that hints that they’re replies.

    Either way, the replies will still appear on your followers’ timelines. Even if the replies begin with your @handle, they still begin with a mention of someone your followers all follow: you!

    I’m told that many third-party clients don’t support replying to yourself without your handle included, and the API documentation doesn’t mention that it’s a feature. But I’m also told that only first-party clients require you to mention someone in a reply in order to thread, and that third-party clients will merrily thread anything to anything. (I remember when Web Twitter allowed that, so I totally believe the API still does.) If you don’t use the official clients, I guess give it a whirl and see what happens.

  • The previous rule also applies when making longer replies to someone else. Reply to them once, then reply to yourself with the next tweet (and remove your own @handle). You’ll end up with three tweets all threaded together.

    This is even more important, because Twitter shows the replies to a single tweet in a somewhat arbitrary order, bubbling “important” ones to the top. If you write a very long response and break it across three tweets, all replying to the same original tweet, they’ll probably show as an incoherent jumble to anyone reading the thread. If you make each tweet a reply to the previous one, they’re guaranteed to stay in order.

  • Replying to a tweet will also prefill the @handle of anyone mentioned in the tweet. Replying to a retweet will additionally prefill the @handle of the person who retweeted it. The original author’s @handle always appears first. In some cases, it’s polite to remove some of these; you only need the original author’s @handle to make a reply. (It’s not uncommon to accumulate multiple mentions, then end up in an extended conversation with only one other person, while constantly notifying several third parties. Or you may want to remove the @handle of a locked account that retweeted a public account, to protect their privacy.)

  • Prefilling @handles is done client-side, so some clients have slightly different behavior. In particular, I’ve seen a few people who reply to their own reply to someone else (in order to thread a longer thought), and end up with their own @handle at the beginning of the second reply! You probably don’t want that, because now the second reply begins with a mention of someone all of your followers follow — yourself! — and so both tweets will appear on your followers’ timelines.

  • In official clients (Web and Android, at least), long threads of tweets are collapsed on your timeline. Only the first tweet and the last two tweets are visible. If you have a lot to say about something, it’s a good idea to put the important bits in one of those three tweets where your followers will actually see them. This is another reason it’s polite to thread your tweets together — it saves people from having their timelines flooded by your tweetstorm.

    Sometimes, it’s possible to see multiple “branches” of the same conversation on your timeline. For example, if A makes a few tweets, and B and C both reply, and you follow all three of them, then you’ll see B’s replies and C’s replies separately. Clients don’t handle this particularly well and it can become a bit of a clusterfuck, with the same root tweet appearing multiple times.

  • Because official clients treat a thread as a single unit, you can effectively “bump” your own tweet by replying to it. Your reply is new, so it’ll appear on your followers’ timelines; but the client will also include the first tweet in the thread as context, regardless of its age.

  • When viewing a single tweet, official clients may not show the replies in chronological order. Usually the “best” replies are bumped to the top. “Best” is entirely determined by Twitter, but it seems to work fairly well.

    If you reply to yourself, your own replies will generally appear first, but this is not guaranteed. If you want to link to someone else’s long chain of tweets, it’s safest to link to the last tweet in the thread, since there can only be one unambiguous trail of parent tweets leading back to the beginning. This also saves readers from digging through terrible replies by third parties.

  • If reply to a tweet with @foo heya, and @foo later renames their account to @quux, the tweet will retain its threading even though it no longer mentions the author of the parent tweet. However, your reply will now appear on your profile, because it doesn’t begin with the handle of an existing user. Note that this means it’s fairly easy for a non-follower to figure out what you renamed your account to, by searching for replies to your old name.

  • Threads are preserved even if some of the tweets are hidden (either because you’ve blocked some participants, or because they have their accounts set to private). Those tweets won’t appear for you, but any visible replies to them will.

  • If a tweet in the middle of a thread is deleted (or the author’s account is deleted), the thread will break at that point. Replies to the deleted tweet won’t be visible when looking at the parent, and the parent won’t be visible when looking at the replies.

  • You can quote tweets by including a link to them in your tweet, which will cause the quoted tweet to appear in a small box below yours. This does not create a reply and will not be part of the quoted tweet’s thread. If you want to do that, you can’t use the retweet/quote button. You have to reply to the tweet, manually include a link to it, and be sure to mention the author.

  • When you quote a tweet, the author is notified; however, unlike a retweet, they won’t be notified when people like or retweet your quote (unless you also mention them). If you don’t want to notify the author, you can take a screenshot (though this doesn’t let them delete the tweet) or use a URL shortener (though this doesn’t let them obviously disable a quote by blocking you).

  • Due to the nature of Twitter, it’s common for a tweet to end up on many people’s timelines simultaneously and attract many similar replies within a short span of time. It’s polite to check the existing replies to a popular tweet, or a tweet from a popular person, before giving your two cents.

  • It’s generally considered rude to barge into the middle of a conversation between two other people, especially if they seem to know each other much better than you know them, and especially if you’re being antagonistic. There are myriad cases where this may be more or less appropriate, and no hard and fast rules. You’re a passerby overhearing two people talking on the street; act accordingly.

  • Someone unrecognized who replies to you — especially someone who doesn’t follow you, or who is replying to the middle of a conversation, or who is notably arrogant or obnoxious — is often referred to as a “rando”.

  • When you quote or publicly mention someone for the sake of criticizing them, be aware that you’re exposing them to all of your followers, some of whom may be eager for an argument. If you have a lot of followers, you might inadvertently invite a dogpile.


Hashtags are a # character followed by some number of non-whitespace characters. Anecdotally, they seem to be limited server-side to 100 characters, but I haven’t found any documentation on this.

  • Exactly which characters may appear in a hashtag is somewhat inconsistent, and has quietly changed at least once.

  • The only real point to hashtags is that you can click on them in clients to jump directly to search results. Note that searching for #foo will only find #foo, but searching for foo will find both foo and #foo.

  • Hashtags can appear in the “trending” widget, but so can any other regular text.

  • There is no reason to tag a bunch of random words in your tweets. No one is searching Twitter for #funny. Doing this makes you look like an out-of-touch marketer who’s trying much too hard.

  • People do sometimes use hashtags as “asides” or “moods”, but in this case the tag isn’t intended to be searched for, and the real point of using a hashtag is that the link color offsets it from the main text.

  • Twitter also supports “cashtags”, which are prefixed with a $ instead and are generally stock symbols. I only even know this because it makes shell and Perl code look goofy.


A tweet may have one embedded attachment.

  • You may explicitly include a set of up to four images or a video or a poll. You cannot combine this within a single tweet. Brands™ have access to a handful of other embedded gizmos.

  • If you include images or a video, you will lose 24 characters of writing space, because a direct link to the images/video will be silently added to the end of your tweet. This is for the sake of text-only clients, e.g. people using Twitter over SMS, so they can see that there’s an attachment and possibly view it in a browser.

  • Including a poll will not append a link, but curiously, you’ll still lose 24 characters. It’s possible this is a client bug, but it happens in both Web and Android Twitter.

  • Alternative clients may not support new media types at first. In particular, people who used TweetDeck were frequently confused right after polls were launched, because TweetDeck showed only the tweet text and no indication that a poll had ever been there. Some third-party clients still don’t support polls. Consider mentioning when you’re using a new attachment type. Might I suggest prefixing your tweet with 📊?

  • If you don’t include an explicit attachment, Twitter will examine the links in your tweet, in reverse order. If you link to a tweet, that tweet will be quoted in yours. If you link to a website that supports Twitter “cards” (small brief descriptions of a site, possibly with images), that card will be attached. There can only be one attachment, so as soon as Twitter finds something it can use, it stops looking.

  • You can embed someone else‘s media in your own tweet by ending it with a link to the media URL — that is, the one that ends with /photo/1. This is different from a quoted tweet, and won’t notify the original tweeter.

  • Quoted tweets are always just tweets that include links to other tweets. Even if the tweet is deleted, an embed box will still appear, though it’ll be grayed out and say the tweet is unavailable.

    If the link is the last thing to appear in the tweet text, official clients will not show the link. This can be extremely confusing if you try to link to two tweets — the first one will be left as a regular link, and the second one will be replaced by a quoted tweet, so at a glance it looks like you linked to a tweet and it was also embedded. A workaround for this is just to add text after the final link, so it’s not the last thing in the tweet and thus isn’t hidden.

  • Twitter cards may be associated with a Twitter account. On Android Twitter (not Web Twitter!), replying to a tweet with a card will also include the @handle for the associated account. For example, replying to a tweet that links to a YouTube video will prefill @YouTube. This is pretty goofy, since YouTube itself didn’t make the video, and it causes replies to notify the person even though the original link doesn’t.

  • Uploaded media may be flagged as “sensitive”, which generally means “pornographic”. This will require viewers to click through a warning to see the media, unless they’re logged in and have their account set to skip the warning. Flagged media also won’t appear in the sidebar on profile pages for people who have the warning enabled.

  • The API supports marking individual tweets as containing sensitive media, but official clients do not — instead, there’s an account setting that applies to everything you upload from that point forward. Media may also be flagged by other users as sensitive. Twitter also has some sort of auto-detection for sensitive media, which I only know about because it sometimes thinks photos of my hairless cats are pornographic.

  • If your own tweets have “sensitive” media attached, you will have to click through the warning, even if you have the warning disabled. A Twitter employee tells me this is so you’re aware when your own tweets are flagged, but the message still tells you to disable the warning in account settings, so this is mostly just confusing.

    Curiously, if you see your own tweet via a retweet, the warning doesn’t appear.

Blocking and muting

  • A blocked user cannot view your profile. They can, of course, use a different account, or merely log out. This is entirely client-side, too, so it’s possible that some clients don’t even support this “feature”.

  • A blocked user cannot like or retweet your tweets.

  • A blocked user cannot follow you. If you block someone who’s already following you, they’ll be forced to immediately unfollow. Likewise, you cannot follow a blocked user.

  • A blocked user’s tweets won’t appear on your timeline, or in any thread. As of fairly recently, their tweets won’t appear in search results, either. However, if you view the profile of someone who’s retweeted a blocked user, you will still see that retweet.

  • A blocked user can see your tweets, if someone they follow retweets you.

  • A blocked user can mention or reply to you, though you won’t be notified either by the tweet itself or by any retweets/likes. However, if someone else replies to them, your @handle will be prefilled, and you’ll be notified. Also, other people viewing your tweets will still see their replies threaded.

  • A blocked user can link to your tweets — however, rather than an embedded quote, their tweet will have a gray “this tweet is unavailable” box attached. This effect is retroactive. However (I think?), if a quoted tweet can’t be shown, the link to the tweet is left visible, so people can still click it to view the tweet manually.

  • Muting has two different effects. If you mute someone you’re following, their tweets won’t appear in your timeline, but you’ll still get notifications from them. This can be useful if you set your phone to only buzz on notifications from people you follow. If you mute someone you’re not following, nothing they do will send you notifications. Either way, their tweets will still be visible in threads and search results.

  • Relatedly, if you follow someone who’s a little eager with the retweeting, you can turn off just their retweets. It’s in the menu on their profile.

  • It’s trivial to tell whether someone’s blocked you, since their profile will tell you. However, it’s impossible to know for sure if someone has muted you or is just manually ignoring you, since being muted doesn’t actually prevent you from doing anything.

  • You can block and mute someone at the same time, though this has no special effect. If you unblock them, they’ll just still be muted.

  • The API strips out tweets from blocked and muted users server-side for streaming requests (such as your timeline), but leaves it up to the client for other requests (such as viewing a single tweet). So it’s possible that a client will neglect to apply the usual rule of “you never see a blocked user’s tweets in threads”. In particular, I’ve heard several reports that this is the case in the official iOS Twitter (!).

  • Tweeting screenshots of “you have been blocked” is getting pretty old and we can probably stop doing it.

  • Almost all of Twitter’s advanced search options are exposed on the advanced search page. All of them are shorthand for using a prefix in your search query; for example, “from these accounts” just becomes something like from:username.

  • The one that isn’t listed there is filter:, which is only mentioned in the API documentation. It can appear as filter:safe, filter:media, filter:images, or filter:links. It’s possible there are other undocumented forms.

  • Search applies to unshortened links, so you can find links to a website just by searching for its URL. However, because Twitter displays links without a protocol (http://), you have to leave it off when searching. Be aware that people who mention your work without mentioning you might be saying unkind things about it.

    That said, I’ve also run into cases where searching for a partial URL doesn’t find tweets that I already know exist, and I’m not sure why.

  • As a side effect, you can search for quotes of a given user’s tweets by searching for twitter.com/username/status, because all tweet URLs begin with that prefix. This will also include any tweets from that user that have photos or video attached, because attaching media appends a photo URL, but you can fix that by adding -from:username.

  • Searching for to:foo will only find tweets that begin with @foo; dot-replies and other mentions are not included. Searching for @foo will find mentions as well as tweets from that person. To find only someone’s mentions, you can search for @foo -from:foo. You can combine this with the above trick to find quotes as well.

  • I’ve been told that from: only applies to the handle a user had when the tweet was made (i.e. doesn’t take renames into account), but this doesn’t match my own experience. It’s possible the behavior is different depending on whether the old handle has been reclaimed by someone else.

  • Some clients, such as TweetDeck, support showing live feeds of search results right alongside your timeline and notifications. It’s therefore possible for people to keep an eye on a live stream of everyone who’s talking about them, even when their @handle isn’t mentioned. Bear this in mind when grumbling, especially about people whose attention you’d prefer to avoid.

  • Namesearch — that is, look for mentions of you or your work that don’t actually @-mention you — with caution. Liking or replying amicably to tweets that compliment you is probably okay. Starting arguments with people who dislike your work is rude and kind of creepy, and certainly not likely to improve anyone’s impression of you.

Locked accounts

  • You may set your account to private, which will hide your tweets from the general public. Only people who follow you will be able to see your tweets. Twitter calls this “protected”, but since it shows a lock icon next to your handle, everyone calls it “locked”.

  • Specifically: your banner, avatar, display name, and bio (including location, website, etc.) are still public. The number of tweets, follows, followers, likes, and lists you have are also public. Your actual tweets, media, follows, followers, lists, etc. are all hidden.

  • iOS Twitter hides the bio and numbers, as well, which is sort of inconvenient if you were using it to explain who you are and who you’re cool with having follow you.

  • When you lock your account, any existing followers will remain. Anyone else will only be able to send a follow request, which you can then approve or deny. You can force anyone to unfollow you at any time (whether locked or not) by blocking and then unblocking them. Or just blocking them.

  • Follow requests are easy to miss; only a few places in the UI make a point of telling you when you have new ones.

  • Approving or denying a follow request doesn’t directly notify the requester. If you approve, obviously they’ll start seeing your tweets in their timeline. If you deny, the only difference is that if they look at your profile again, the follow button will no longer say “pending”.

  • If you unlock your account, any pending follow requests are automatically accepted.

  • The only way to see your pending follows (accounts you have tried to follow that haven’t yet accepted) is via the API, or a client that makes use of the API. The official clients don’t show them anywhere.

  • No one can retweet a locked account, not even followers.

  • Quoting doesn’t work with locked account; the quoted tweet will only show the “unavailable” message, even if a locked account quotes itself. Clicking the tweet link will still work, of course, as long as you follow the quoted account.

  • Locked accounts never create notifications for people who aren’t following them. A locked account can like, retweet, quote, follow, etc. as usual, and the various numbers will go up, but only their followers will be notified.

  • A locked account can reply to another account that doesn’t follow them, but that account won’t have any way to tell. However, an unlocked third party that follows both accounts could then make another reply, which would prefill both @handles, and (if left unchanged) alert the other account to the locked account’s presence.

  • Similarly, if a locked account retweets a public account, anyone who tries to reply to the retweet will get the locked account’s @handle prefilled.

  • If a locked account likes some of your tweets (or retweets you, or replies, etc.), and then you follow them, you won’t see retroactive notifications for that activity. Notifications from accounts you can’t see are never created in the first place, not merely hidden from your view. Of course, you’re free to look through their tweets and likes manually once you follow them.

  • Locked accounts do not appear in the lists of who liked or retweeted a tweet (except, of course, when viewed by someone following them). Web Twitter will hint at this by saying something akin to “X users have asked not to be shown in this view.” at the bottom of such a list.

  • While a locked account’s own follows and followers are hidden, a locked account will still appear publicly in the following/follower lists of other unlocked accounts. There is no blessed way to automatically cross-reference this, but be aware that the existence of a locked account is still public. In particular, if you follow someone who keeps an eye on their follower count, they can just look at their own list of followers to find you.

  • Anyone can still mention a locked account, whether or not they follow it, and it’ll receive notifications.

  • Open DMs (“receive direct messages from anyone”) work as normal for locked accounts. A locked account can send DMs to anyone with open DMs, and a locked account may turn on open DMs to receive DMs from anyone.

  • Replies to a locked account are not protected in any way. If a locked account participates in a thread, its own tweets will be hidden from non-followers, but any public tweets will be left in. Also, anyone can search for mentions of a locked account to find conversations it’s participated in, and may be able to infer what the locked account was saying from context.

API, other clients, etc.

I’ve mentioned issues with non-primary clients throughout, but a couple more things to be aware of:

  • Web Twitter has some keyboard shortcuts, which you can view by pressing ?.

  • When I say Web Twitter throughout this document, I mean desktop Web Twitter; there’s also a mobile Web Twitter, which is much simpler.

  • The official API doesn’t support a number of Twitter features, including polls, ads, and DMs with multiple participants. Clients that use the API (i.e. clients not made by Twitter) thus cannot support these features.

  • Even TweetDeck, which is maintained by Twitter, frequently lags behind in feature support. TweetDeck had the original (client-side-only) implementation of muting, but even after Twitter added it as a real feature, TweetDeck was never changed to make use of it. So TweetDeck’s muting is separate from Twitter’s muting.

  • Tweets know what client they were sent from. Official Twitter apps don’t show this any more, but it’s still available in the API, and some alternative clients show it.

  • By default, Twitter allows people to find your account by searching for your email address or phone number. You may wish to turn this off.

  • Twitter has a “collections” feature, which lets you put any public tweets you like (even other people’s) in a group for other people to look over. However, no primary client lets you create one; you have to do it via the API, the second-party client TweetDeck, the somewhat convoluted Curator that seems more aimed at news media and business, or a third-party client. Collections aren’t listed anywhere public (you have to link to them directly) — the only place to see even a list of your own collections via primary means is the “Collection” tab when creating a new widget on the web. Tweets in a collection are by default shown in the order you added them, newest first; the API allows reordering them, and Curator supports dragging to reorder, but TweetDeck doesn’t support reordering at all.

  • Lists are a thing. I’ve never really used them. They don’t support a lot of the features the regular timeline does; for example, threaded tweets aren’t shown together, and lists don’t provide access to locked accounts. You can create a private list and add people to it to follow them without their knowledge, though.

  • You can “promote” a tweet, i.e. turn it into an ad, which is generally only of interest to advertisers. However, promoted tweets have the curious property that they don’t appear on your profile or in your likes or in search results for anyone. It’s possible to target a promoted tweet at a specific list of users (or no one!), which allows for a couple creative hacks that you’ll have to imagine yourself.

  • And then there’s the verified checkmark (given out arbitrarily), the power tools given to verified users (mysterious), the limits on duplicate tweets and follows and whatnot (pretty high), the analytics tools (pretty but pointless), the secret API-only notifications (Twitter tells you when your tweet is unfavorited!), the Web Twitter metadata that let me write a hack to hide mentions from non-followers… you get the idea.

Cat exercise wheel

Post Syndicated from Liz Upton original https://www.raspberrypi.org/blog/cat-exercise-wheel/

This is not a hamster.

(I could stare at that all day.)

Cat owners among you with hard floor coverings will recognise the eldritch skittering of tiny paws at the witching hour, when all cats believe they have become rally cars. The owner of Jasper and Ruben (who, when researching this post, I thought was called Jasper Ruben; he remains anonymous for now — please leave a comment with your name if you’d like to!) has mechanised the problem. With a Raspberry Pi, natch.


This is the web interface for Jasper and Ruben’s wheel. Cat-propelled, and Raspberry Pi-monitored, it logs distance travelled, average speed, duration of feline whirring, and all that good stuff, and displays the statistics in real time.

Here’s the back, where the clever happens. (And the top of Ruben’s head.)


The Pi’s GPIO is hooked up to a coil sensor behind the wheel, which is housed in an old DSL splitter box, held as close as possible to the wheel without actually touching it. A coil sensor detects magnetic field, so the wheel itself has some modifications to make it detectable and measurable: six small ferrous nails hidden in the lining.


The Pi drives a camera board and interprets the feedback from the sensor, so it can display live statistics as the cat runs. It also enables the user to record any particularly nifty bits of cat-sprinting.

Being human, you want to see more video of the setup in action. Here’s Jasper, being taunted by a laser dot, with real-time stats at the top of the video.

And here’s proof that the cats will use the wheel spontaneously:

You can see a comprehensive photo how-to on Imgur; Jasper and Ruben’s owner is also answering questions about the build over on Reddit.

We want to see someone modify this to use the wheel’s rotation to charge a battery. What would you use it to power? (I’m thinking kibble dispenser…)

The post Cat exercise wheel appeared first on Raspberry Pi.

Introducing Catblaze Cloud Backup

Post Syndicated from Andy Klein original https://www.backblaze.com/blog/catblaze-backup/

Today, Backblaze is launching a new service: Catblaze Cloud Backup. This new service complements our existing Backblaze Personal Backup service, but focuses on the automatic and continuous backup of feline related content on your PC or Mac. Catblaze ensures that your cat related photos, videos, documents and more will be safely and securely backed up and stored in the Catblaze Cloud. Catblaze will also backup cat related files from any connected USB hard drives for no extra cost. As a bonus, all of your other data files stored on your PC or Mac will be backed up by Catblaze. You can learn more on the Catblaze website: www.Catblaze.com.
The Technology Behind Catblaze
Catblaze utilizes a scanning engine named Cat-scan to locate the feline related material on your hard drive and ensure it is scheduled for backup. Cat-scan is written in the native code of the platform (PC or Mac) and utilizes patent-pending Bayesian filtering algorithms to analyze each file on your hard drive searching for cat related content. It took Backblaze years to hone the Bayesian filters used in Catblaze, but just like Backblaze Personal Backup, all that complexity is completely hidden ensuring Catblaze is truly easy to use.
Why Catblaze?
Over the nearly nine years we have been in business we have tried to deny that cat related content made up a sizable portion of the 200 Petabytes of customer data we store for customers. Sure, we received numerous “Cat” stories from our Backblaze customer base. And, yes we had countless customer surveys and focus groups all saying their most important data was cat related. Yet, we remained unbelievers until we unleashed the Cat-scan filters on the data and the results convinced us that creating Catblaze was the only solution.

Cat-scan analysis of 200 Petabytes of customer data
Screen Shot 2016-03-31 at 8.17.36 AM

The Catblaze Restoration Program
Once your cat files are stored by Catblaze, you’ll be happy to know that you can view them from any computer anywhere with just a web browser and your Catblaze account credentials. In addition, you can download and use the Backblaze Mobile apps, iOS or Android, as they work seamlessly with Catblaze. With a few clicks, you can locate, view and download your cat photos from Catblaze to your smartphone or tablet. Once there, they can be printed, emailed, posted and shared as you desire.
Just like our standard Backblaze service, if the unthinkable happens and your computer crashes or is stolen resulting in the loss of any or all your cat photo/videos (and other data), you can recover them from Catblaze. Restoring data is far easier than cleaning up a hairball as you simply use the Catblaze web restore option. There is also the option to restore your beloved cat data on a USB flash drive or a USB hard drive, the latter being ideal for Catblaze power users with 1TB or more of feline related data.
The good news is that we now also offer the “Restore, Return, Refund” program to Catblaze users. This program lets Catblaze users purchase a USB hard drive with all their cat photos, videos and more on it and have it shipped overnight once it is ready. Then, when they have restored all their cat stuff, they can return the USB hard drive to us within 30 days and we’ll refund them the purchase price. Using this program you can restore terabytes of cat content quickly and free. This is a first in the cat universe.
Availability and Pricing of Catblaze
Pricing for Catblaze is just $5/month per computer for an unlimited amount of cat related photos, videos, and any other data you value. One-year of Catblaze will cost $50 per computer and two years of Catblaze will cost $95 per computer.
There is a free trial of the service available on the Catblaze home page at www.Catblaze.com. Once downloaded, you may notice the product says it is actually Backblaze, we hope you don’t mind…
Backblaze would like to thank the Peninsula Humane Society for loaning us the use of the cats in the creation of Catblaze. The stars, Muta the bigger black and white, Lincoln the thinner white and tabby and Sherlock the grey tabby, were troopers.
Kitten season is upon us and if you are looking for a kitten or one of the full grown cats like, Muta, Lincoln, Sherlock and their friends, please visit your local ASPCA. They also have dogs there too, but the Dogblaze service is not available yet, maybe next year. In either case, if you’re an animal lover as we are we encourage you to support your local ASPCA.
The post Introducing Catblaze Cloud Backup appeared first on Backblaze Blog | The Life of a Cloud Backup Company.

On journeys

Post Syndicated from Michal Zalewski original http://lcamtuf.blogspot.com/2015/03/on-journeys.html

– 1 –

Poland is an ancient country whose history is deeply intertwined with that of the western civilization. In its glory days, the Polish-Lithuanian Commonwealth sprawled across vast expanses of land in central Europe, from Black Sea to Baltic Sea. But over the past two centuries, it suffered a series of military defeats and political partitions at the hands of its closest neighbors: Russia, Austria, Prussia, and – later – Germany.

After more than a hundred years of foreign rule, Poland re-emerged as an independent state in 1918, only to face the armies of Nazi Germany at the onset of World War II. With Poland’s European allies reneging on their earlier military guarantees, the fierce fighting left the country in ruins. Some six million people have died within its borders – more than ten times the death toll in France or in the UK. Warsaw was reduced to a sea of rubble, with perhaps one in ten buildings still standing by the end of the war.

With the collapse of the Third Reich, Franklin D. Roosevelt, Winston Churchill, and Joseph Stalin sat down in Yalta to decide the new order for war-torn Europe. At Stalin’s behest, Poland and its neighboring countries were placed under Soviet political and military control, forming what has become known as the Eastern Bloc.

Over the next several decades, the Soviet satellite states experienced widespread repression and economic decline. But weakened by the expense of the Cold War, the communist chokehold on the region eventually began to wane. In Poland, the introduction of martial law in 1981 could not put an end to sweeping labor unrest. Narrowly dodging the specter of Soviet intervention, the country regained its independence in 1989 and elected its first democratic government; many other Eastern Bloc countries soon followed suit.

Ever since then, Poland has enjoyed a period of unprecedented growth and has emerged as one of the more robust capitalist democracies in the region. In just two decades, it shed many of its backwardly, state-run heavy industries and adopted a modern, service-oriented economy. But the effects of the devastating war and the lost decades under communist rule still linger on – whether you look at the country’s infrastructure, at its socrealist cityscapes, at its political traditions, or at the depressingly low median wage.

When thinking about the American involvement in the Cold War, people around the world may recall Vietnam, Bay of Pigs, or the proxy wars fought in the Middle East. But in Poland and many of its neighboring states, the picture you remember the most is the fall of the Berlin Wall.

– 2 –

I was born in Warsaw in the winter of 1981, at the onset of martial law, with armored vehicles rolling onto Polish streets. My mother, like many of her generation, moved to the capital in the sixties as a part of an effort to rebuild and repopulate the war-torn city. My grandma would tell eerie stories of Germans and Soviets marching through their home village somewhere in the west. I liked listening to the stories; almost every family in Poland had some to tell.

I did not get to know my father. I knew his name; he was a noted cinematographer who worked on big-ticket productions back in the day. He left my mother when I was very young and never showed interest in staying in touch. He had a wife and other children, so it might have been that.

Compared to him, mom hasn’t done well for herself. We ended up in social housing in one of the worst parts of the city, on the right bank of the Vistula river. My early memories from school are that of classmates sniffing glue from crumpled grocery bags. I remember my family waiting in lines for rationed toilet paper and meat. As a kid, you don’t think about it much.

The fall of communism came suddenly. I have a memory of grandma listening to broadcasts from Radio Free Europe, but I did not understand what they were all about. I remember my family cheering one afternoon, transfixed to a black-and-white TV screen. I recall my Russian language class morphing into English; I had my first taste of bananas and grapefruits. There is the image of the monument of Feliks Dzierżyński coming down. I remember being able to go to a better school on the other side of Warsaw – and getting mugged many times on the way.

The transformation brought great wealth to some, but many others have struggled to find their place in the fledgling and sometimes ruthless capitalist economy. Well-educated and well read, my mom ended up in the latter pack, at times barely making ends meet. I think she was in part a victim of circumstance, and in part a slave to way of thinking that did not permit the possibility of taking chances or pursuing happiness.

– 3 –

Mother always frowned upon popular culture, seeing it as unworthy of an educated mind. For a time, she insisted that I only listen to classical music. She angrily shunned video games, comic books, and cartoons. I think she perceived technology as trivia; the only field of science she held in high regard was abstract mathematics, perhaps for its detachment from the mundane world. She hoped that I would learn Latin, a language she could read and write; that I would practice drawing and painting; or that I would read more of the classics of modernist literature.

Of course, I did almost none of that. I hid my grunge rock tapes between Tchaikovsky, listened to the radio under the sheets, and watched the reruns of The A-Team while waiting for her to come back from work. I liked electronics and chemistry a lot more than math. And when I laid my hands on my first computer – an 8-bit relic of British engineering from 1982 – I soon knew that these machines, in their incredible complexity and flexibility, were what I wanted to spend my time on.

I suspected I could be a competent programmer, but never had enough faith in my skill. Yet, in learning about computers, I realized that I had a knack for understanding complex systems and poking holes in how they work. With a couple of friends, we joined the nascent information security community in Europe, comparing notes on mailing lists. Before long, we were taking on serious consulting projects for banks and the government – usually on weekends and after school, but sometimes skipping a class or two. Well, sometimes more than that.

All of the sudden, I was facing an odd choice. I could stop, stay in school and try to get a degree – going back every night to a cramped apartment, my mom sleeping on a folding bed in the kitchen, my personal space limited to a bare futon and a tiny desk. Or, I could seize the moment and try to make it on my own, without hoping that one day, my family would be able to give me a head start.

I moved out, dropped out of school, and took on a full-time job. It paid somewhere around $12,000 a year – a pittance anywhere west of the border, but a solid wage in Poland even today. Not much later, I was making two times as much, about the upper end of what one could hope for in this line of work. I promised myself to keep taking courses after hours, but I wasn’t good at sticking to the plan. I moved in with my girlfriend, and at the age of 19, I felt for the first time that things were going to be all right.

– 4 –

Growing up in Europe, you get used to the barrage of low-brow swipes taken at the United States. Your local news will never pass up the opportunity to snicker about the advances of creationism somewhere in Kentucky. You can stay tuned for a panel of experts telling you about the vastly inferior schools, the medieval justice system, and the striking social inequality on the other side of the pond. You don’t doubt their words – but deep down inside, no matter how smug the critics are, or how seemingly convincing their arguments, the American culture still draws you in.

My moment of truth came in the summer of 2000. A company from Boston asked me if I’d like to talk about a position on their research team; I looked at the five-digit figure and could not believe my luck. Moving to the US was an unreasonable risk for a kid who could barely speak English and had no safety net to fall back to. But that did not matter: I knew I had no prospects of financial independence in Poland – and besides, I simply needed to experience the New World through my own eyes.

Of course, even with a job offer in hand, getting into the United States is not an easy task. An engineering degree and a willing employer opens up a straightforward path; it is simple enough that some companies would abuse the process to source cheap labor for menial, low-level jobs. With a visa tied to the petitioning company, such captive employees could not seek better wages or more rewarding work.

But without a degree, the options shrink drastically. For me, the only route would be a seldom-granted visa reserved for extraordinary skill – meant for the recipients of the Nobel Prize and other folks who truly stand out in their field of expertise. The attorneys looked over my publication record, citations, and the supporting letters from other well-known people in the field. Especially given my age, they thought we had a good shot. A few stressful months later, it turned out that they were right.

On the week of my twentieth birthday, I packed two suitcases and boarded a plane to Boston. My girlfriend joined me, miraculously securing a scholarship at a local university to continue her physics degree; her father helped her with some of the costs. We had no idea what we were doing; we had perhaps few hundred bucks on us, enough to get us through the first couple of days. Four thousand miles away from our place of birth, we were starting a brand new life.

– 5 –

The cultural shock gets you, but not in the sense you imagine. You expect big contrasts, a single eye-opening day to remember for the rest of your life. But driving down a highway in the middle of a New England winter, I couldn’t believe how ordinary the world looked: just trees, boxy buildings, and pavements blanketed with dirty snow.

Instead of a moment of awe, you drown in a sea of small, inconsequential things, draining your energy and making you feel helpless and lost. It’s how you turn on the shower; it’s where you can find a grocery store; it’s what they meant by that incessant “paper or plastic” question at the checkout line. It’s how you get a mailbox key, how you make international calls, it’s how you pay your bills with a check. It’s the rules at the roundabout, it’s your social security number, it’s picking the right toll lane, it’s getting your laundry done. It’s setting up a dial-up account and finding the food you like in the sea of unfamiliar brands. It’s doing all this without Google Maps or a Facebook group to connect with other expats nearby.

The other thing you don’t expect is losing touch with your old friends; you can call or e-mail them every day, but your social frames of reference begin to drift apart, leaving less and less to talk about. The acquaintances you make in the office will probably never replace the folks you grew up with. We managed, but we weren’t prepared for that.

– 6 –

In the summer, we had friends from Poland staying over for a couple of weeks. By the end of their trip, they asked to visit New York City one more time; we liked the Big Apple, so we took them on a familiar ride down I-95. One of them went to see the top of World Trade Center; the rest of us just walked around, grabbing something to eat before we all headed back. A few days later, we were all standing in front of a TV, watching September 11 unfold in real time.

We felt horror and outrage. But when we roamed the unsettlingly quiet streets of Boston, greeted by flags and cardboard signs urging American drivers to honk, we understood that we were strangers a long way from home – and that our future in this country hanged in the balance more than we would have thought.

Permanent residency is a status that gives a foreigner the right to live in the US and do almost anything they please – change jobs, start a business, or live off one’s savings all the same. For many immigrants, the pursuit of this privilege can take a decade or more; for some others, it stays forever out of reach, forcing them to abandon the country in a matter of days as their visas expire or companies fold. With my O-1 visa, I always counted myself among the lucky ones. Sure, it tied me to an employer, but I figured that sorting it out wouldn’t be a big deal.

That proved to be a mistake. In the wake of 9/11, an agency known as Immigration and Naturalization Services was being dismantled and replaced by a division within the Department of Homeland Security. My own seemingly straightforward immigration petition ended up somewhere in the bureaucratic vacuum that formed in between the two administrative bodies. I waited patiently, watching the deepening market slump, and seeing my employer’s prospects get dimmer and dimmer every month. I was ready for the inevitable, with other offers in hand, prepared to make my move perhaps the very first moment I could. But the paperwork just would not come through. With the Boston office finally shutting down, we packed our bags and booked flights. We faced the painful admission that for three years, we chased nothing but a pipe dream. The only thing we had to show for it were two adopted cats, now sitting frightened somewhere in the cargo hold.

The now-worthless approval came through two months later; the lawyers, cheerful as ever, were happy to send me a scan. The hollowed-out remnants of my former employer were eventually bought by Symantec – the very place from where I had my backup offer in hand.

– 7 –

In a way, Europe’s obsession with America’s flaws made it easier to come home without ever explaining how the adventure really played out. When asked, I could just wing it: a mention of the death penalty or permissive gun laws would always get you a knowing nod, allowing the conversation to move on.

Playing to other people’s preconceptions takes little effort; lying to yourself calls for more skill. It doesn’t help that when you come back after three years away from home, you notice all the small annoyances that you used to simply tune out. Back then, Warsaw still had a run-down vibe: the dilapidated road from the airport; the drab buildings on the other side of the river; the uneven pavements littered with dog poop; the dirty walls at my mother’s place, with barely any space to turn. You can live with it, of course – but it’s a reminder that you settled for less, and it’s a sensation that follows you every step of the way.

But more than the sights, I couldn’t forgive myself something else: that I was coming back home with just loose change in my pocket. There are some things that a failed communist state won’t teach you, and personal finance is one of them; I always looked at money just as a reward for work, something you get to spend to brighten your day. The indulgences were never extravagant: perhaps I would take the cab more often, or have take-out every day. But no matter how much I made, I kept living paycheck-to-paycheck – the only way I knew, the way our family always did.

– 8 –

With a three-year stint in the US on your resume, you don’t have a hard time finding a job in Poland. You face the music in a different way. I ended up with a salary around a fourth of what I used to make in Massachusetts, but I simply decided not to think about it much. I wanted to settle down, work on interesting projects, marry my girlfriend, have a child. I started doing consulting work whenever I could, setting almost all the proceeds aside.

After four years with T-Mobile in Poland, I had enough saved to get us through a year or so – and in a way, it changed the way I looked at my work. Being able to take on ambitious challenges and learn new things started to matter more than jumping ships for a modest salary bump. Burned by the folly of pursuing riches in a foreign land, I put a premium on boring professional growth.

Comically, all this introspection made me realize that from where I stood, I had almost nowhere left to go. Sure, Poland had telcos, refineries, banks – but they all consumed the technologies developed elsewhere, shipped here in a shrink-wrapped box; as far as their IT went, you could hardly tell the companies apart. To be a part of the cutting edge, you had to pack your bags, book a flight, and take a jump into the unknown. I sure as heck wasn’t ready for that again.

And then, out of the blue, Google swooped in with an offer to work for them from the comfort of my home, dialing in for a videoconference every now and then. The starting pay was about the same, but I had no second thoughts. I didn’t say it out loud, but deep down inside, I already knew what needed to happen next.

– 9 –

We moved back to the US in 2009, two years after taking the job, already on the hook for a good chunk of Google’s product security and with the comfort of knowing where we stood. In a sense, my motive was petty: you could call it a desire to vindicate a failed adolescent dream. But in many other ways, I have grown fond of the country that shunned us once before; and I wanted our children to grow up without ever having to face the tough choices and the uncertain prospects I had to deal with in my earlier years.

This time, we knew exactly what to do: a quick stop at a grocery store on a way from the airport, followed by e-mail to our immigration folks to get the green card paperwork out the door. A bit more than half a decade later, we were standing in a theater in Campbell, reciting the Oath of Allegiance and clinging on to our new certificates of US citizenship.

The ceremony closed a long and interesting chapter in my life. But more importantly, standing in that hall with people from all over the globe made me realize that my story is not extraordinary; many of them had lived through experiences far more harrowing and captivating than mine. If anything, my tale is hard to tell apart from that of countless other immigrants from the former Eastern Bloc. By some estimates, in the US alone, the Polish diaspora is about 9 million strong.

I know that the Poland of today is not the Poland I grew up in. It’s not not even the Poland I came back to in 2003; the gap to Western Europe is shrinking every single year. But I am grateful to now live in a country that welcomes more immigrants than any other place on Earth – and at the end of their journey, makes many of them them feel at home. It also makes me realize how small and misguided must be the conversations we are having about immigration – not just here, but all over the developed world.

To explore other articles in this short series about Poland, click here. You can also directly proceed to the next entry here.