Luis Ibáñez works as Senior Software Engineer at Google Inc in Chicago. Opinions expressed in this site are his own.You can find him in github at: http://www.github.com/luisibanezand in twitter at: http://www.twitter.com/luisibanezHe previously worked as a Technical Leader at Kitware Inc., and Director of Open Source Community Development at the Open Source EHR Agent (OSEHRA). At Kitware he was closely involved in the development of open source software for medical imaging applications, in particular, working with the Insight Toolkit (ITK).Luis is a strong supporter of Open Access, and one of the editors of the Insight Journal, an OA Journal that enforces the verification of reproducibility. In collaboration with other instructors, Luis taught a course on Open Source Software Practices at RPI between 2007 and 2013, and also at the State University of New York at Albany between 2011 and 2014.Luis Ibáñez received a B.S. in Physics from the Universidad Industrial de Santander (Bucaramanga, Colombia) in 1989 and a M.S. in Optics from the same university in 1994. He received a D.E.A and Ph.D. degrees from the Universite de Rennes I (Rennes, France) in 1995 and 2000, respectively. In 1999, Luis Ibáñez joined the Division of Neurosurgery of the University of North Carolina at Chapel Hill and participated as a member of the MIDAG and CADDLab groups. His work at UNC was related to the development of algorithms for 2 and 3D registration applied to image guided surgery. He also participated as developer of the INSIGHT Registration and Segmentation Toolkit sponsored by the National Library of Medicine. Luis Ibáñez joined Kitware, Inc. in February 2002 where he was one of the main developers of the Insight Toolkit (ITK) coordinating its maintenance with other developers and the user community; he is also one of the main developers of the Image Guided Surgery Toolkit (IGSTK) and participated in crafting the operational principles of the Insight Journal. Luis Ibáñez is a strong supporter of Open Access, and the verification of reproducibility in scientific publications and is a regular speaker in ITK training courses, and in events disseminating the principles of Open Source. In August 2014, Luis joined Google Inc as Software Engineer, to work with the corporate engineering team in New York city.
Luis Ibanez
| Follow @luisibanez
Chicago, IL
Authored Comments
Pat,
Yes, your clarification is correct.
This is indeed on line of "bash", that is calling a full module written in Python, that in turns runs a Web server.
On the big scheme of things, it still seems to be fair to give the credit to Python for offering that feature, rather than to give the credit to Bash just for doing the invocation of that cool Python feature.
The full Python equivalent is in this slide:
http://www.opensourcesoftwarepractice.org/Raspberry-Pi-Web-Server-With-Python/#/13
That is about 4 lines of Python readable code,
import SimpleHTTPServer, SocketServer
handler = SimpleHTTPServer.SimpleHTTPRequestHandler
server = SocketServer.TCPServer(("",8000),handler)
server.serve_forever()
and could be squeezed into two lines of "less-readable" code:
import SimpleHTTPServer, SocketServer
SocketServer.TCPServer(("",8000),SimpleHTTPServer.SimpleHTTPRequestHandler).serve_forever()
We would rather have students get used to write readable code...
This is marginally better in size than the equivalent in Node.js:
http://www.kitware.com/blog/home/post/433
Overall, for the purpose of the class, the point of this exercise was to show students that it is "really easy" to do things that they can interact with.
The goal of the Raspberry Pi is to demystify computing and to create an environment where students can experiment quickly and have fun on the process.
Robert,
Thanks for the clarification. I missed to appreciate the point that the difficulty is the amount of content (e.g. the conversion into an appropriate format), and not the dissemination of it, once it is converted.
The Kickstarter is definitely a great way to get there, and you are doing it with great style !
Luis