Category Archives: Work

GSoC 2014 Friday Report #3

Todo For This Week

  • Complete integrating my work on the new pwg.org before the next face-2-face meeting
  • Hack udev-config-printer to startup ippusbd
  • Decide if ippusbd should be a separate package or part of cups-filters as Till suggested
  • Switch to automake if ippusbd is to be part of cups-filters

Completed This Week

  • My two pwg.org projects are integrated and the major work for the new pwg.org is completed. I’ve promised a few more days to fix the usual issues when more content is migrated.
  • Nothing other than the pwg.org work was done this week =\

Todo Next Week

  • Hack udev-config-printer to startup ippusbd
  • Decide if ippusbd should be a separate package or part of cups-filters as Till suggested
  • Switch to automake if ippusbd is to be part of cups-filters

 

 

GSoC 2014 Friday Report #2

Todo For This Week

  • Ask till how printer auto-discovery will work
  • Open usb connection to printer
  • Setup udev for auto-connection

Completed This Week

  • Till suggested looking at udev-config-printer whch already handles usb printer queueing
  • Emailed Tim Waugh, Red Hat’s printerguy who maintains the package which has udev-config-printer, about how best to integrate

Todo Next Week

  • Complete integrating my work on the new pwg.org before the next face-2-face meeting
  • Hack udev-config-printer to startup ippusbd
  • Decide if ippusbd should be a separate package or part of cups-filters as Till suggested
  • Switch to automake if ippusbd is to be part of cups-filters

All ready, let GSoC 2014 begin!

Project

This summer the project is developing a userland driver for ipp class usb devices. At the most basic level this involves proxying http between usb bulk transfers and tcp. For the real world we also need the usb subsystem to auto-start us and to notify the spooler of the new printer.

I have taken the liberty of naming said new driver ippusbd. My high-level design goals are, in order of importance from most important to least:

  1. Low idle resource usage
  2. security over the usb interface
  3. Portability to non-Linux Unixes

Linux’s udev can handle the auto-start. Libusb gives us userland access to the usb device. Till should know how linux’s cups auto-discovery will work. The usb standard itself is well written and I enjoyed reading it.

 

Timeline

In theory Google Summer of Code does not start for another 20 some days. This official timeline is driven by the american university’s semester dates. In Canada our universities let out almost a month earlier. Thus I’m taking the extra month to work ahead.

I hope to have ippusbd printing by the mid-summer review. The summer’s second half can then get spent polishing and porting ippusbd to the BSDes.

Workstation

IMG_20140501_165238

This summer I’m trying out a standing desk setup. I’ve borrowed my sister’s room while she is in germany so I get a work room. My hope is having a separate room will let me focus better. When I was at microsoft getting things done was easy since the office created a physical seperation between play time and work time, this might replicate that.

The setup consists of two laptops, a Lenovo Thinkpad X1 Carbon, and a Lenovo Ideapad Yoga 2. The Yoga has a touch screen and the X1 gets the full keyboard and mouse. Together they create something like the multimonitor setup I have downstairs.

Overview of my 2013 Microsoft Internship

To summarize the internship: It was fun!

More details to be found the in the posts below.

Interviews

Application: T-Shirt and a Soda

First interview rounds: My Microsoft internship university campus interview experience

Second interview rounds: My Microsoft internship interviews in Redmond

Internship

Flight to Redmond: Flight to Microsoft

Day 0: Invasion of Nintendo America’s campus

Day 1: Intern at Microsoft day #1

Days 2 to 12: Microsoft Internship days 2 to 12

Days 13 to 19: Microsoft Internship days 13 to 19

Days 20 to 33: Microsoft Internship days 20 to 33

Days 34 to 40: Microsoft Internship days 34 to 40

Days 41 to 47: Microsoft Internship days 41 to 47

Days 48 to 54: Microsoft Internship days 48 to 54

Days 55 to 62: Microsoft Internship days 55 to 62

Days 63 to 70: Microsoft Internship days 63 to 70

Days 71 to 77: Microsoft Internship Final Week

I must apologise, I am sure there is at least one off by one error in my day counting.

Also in case you’ve noticed the url, somehow I confused my internship for being in 2012 when I first wrote the post. Just to confirm: my internhsip took place during summer 2013.