User:Jkl
From Interlock Rochester Wiki
(Created page with 'Just graduated from University of Rochester in May, 2010 after a rather long college experience during which time I was also working. == Interests == === Hackerspace === As a re…') |
|||
| Line 1: | Line 1: | ||
| - | Just graduated from University of Rochester in May, 2010 after a rather long college experience during which time I was also working. | + | Just graduated from University of Rochester in May, 2010 after a rather long (12 year) college experience during which time I was also working. (No I am not a PhD or MD) |
| + | |||
| + | I need to organize this better. Despite the amount, I hope this is mostly relevant as I have a lot of technical/nerd interests (I am a tinkerer and more of a jack of all computer/EE trades master of a few) than any kind of domain expert (I sometimes cogitate about the merits and demerits of this, but I ultimately probably won't change). | ||
| + | |||
| + | == .plan == | ||
| + | * Very pleased that I could be available to talk about UNIX hacking at the Linux workshop last weekend to someone that was interested. I'm excited to find out what I can do at the hackerspace. | ||
| + | * Implementing better barcoding (auto-id) libraries for opensource (probably BSD licensed). Already got a partial implementation working (in Python) of an provably "ideal" data encoder for 2D matrix codes (like Aztec, DataMatrix, and QR). I have not found something similar in the open source world. This involves a very interesting formal algorithm with proof for finding the shortest sequence in generating data stream in a multi-state encoding system. | ||
| + | * I'm doing an asset tracking and budgeting framework for my own use, but I have had to write a bunch of packages that may be useful to the general python dev population (things like API access to isbndb.com and data processing) | ||
| + | * Upgrading my Ham equipment to get back into it. Assembling some data cables. | ||
| + | * Brushing up on my VHDL so I can talk intelligently to future prospects in the EE field | ||
| + | * Learning about the next update to C# and .NET: 4.0 -- I highly recommend C# 4.0 in a Nutshell, I couldn't stand any others that may as well be published "for Dummies" | ||
== Interests == | == Interests == | ||
=== Hackerspace === | === Hackerspace === | ||
| - | As a relative newcomer to the Rochester hackerspace and not having been a member of a similar organization previously, I am still figuring out what kinds of things would be interesting and. Right now I am mostly using it as a place to meet with local people with similar technical interests and an alternative venue from the home office. | + | As a relative newcomer to the Rochester hackerspace and not having been a member of a similar organization previously, I am still figuring out what kinds of things would be interesting and community building. Right now I am mostly using it as a place to meet with local people with similar technical interests and an alternative venue from the home office. |
| + | |||
| + | In addition to my current pet technical projects, I would like to see the hackerspace thrive and I am anxious to discuss what kinds of things may work and add them to my TODO list. | ||
| + | |||
| + | === Ham Radio === | ||
| + | '''Note''': I am an Extra and a VE affiliated with W5YI-VEC (which is unfortunately the "wrong" one in these parts). I can apply for Laurel, and possibly get some licensing/exam stuff going at the space. The other alternative is that we get a couple other eligible members or other operators to become W5YI listed and I would not mind being a CVE (paper pusher). | ||
| + | |||
| + | I was surprised and pleased that there is a burgeoning interest in Ham Radio here. I had sort of gotten out of it even though I am a licensed Ham, since 1992, and upgraded to Extra a few years after that. | ||
| + | |||
| + | Currently I am buying some mobile antennas and replacement batteries for my very decent equipment that has been sitting on the shelf for some time | ||
| + | |||
| + | * Kenwood TH-D7 - awesome dualbander with APRS and general AX.25 features | ||
| + | * Icom W32A - A nice upgrade from the following: | ||
| + | * Icom W2A - My first HT (a dualband) it was an engineering marvel in its day, and would still be useful | ||
| + | * Icom IC-736 - This is my main HF+6M allmode rig. I am not huge on HF (not due to lack of interest) | ||
| + | * Yaesu quad band mobile - 10M FM is a bit of a gimmick, but this is still a very nice radio | ||
| + | |||
| + | === Field Day === | ||
| + | * I started operating under the "coaching" of [http://www.kb2erj.com KB2ERJ] at age 8. I don't think I was very competent or too helpful to the contest (I unfortunately can't remember), but it was fun. | ||
| + | * In 2006 I ran a 3A field day station at a local ski lodge, mostly attended by highschoolers with a radio club. Granted, a (1x3) N2PMP is not the best for a fully scored entry (but there were no other club or Extra calls available), but we had fun and PSK-31 contacts are worth as much as CW. W2CM graciously loaned his FD equipment since he was not operating that year. | ||
=== Programming === | === Programming === | ||
| - | + | Sorry this looks like a work inventory, it isn't. These are all things I am interested in for fun. | |
| + | There are fully legitimate hackers that find programming (software or hardware) tedious (and don't do it, or grin and bear), but I am simply not one of them, I love it. | ||
| - | I put a large description of projects and crap here in case any one else is interested in talking about particular things. | + | I put a large description of projects and crap here in case any one else is interested in talking about particular things. I really need to flesh out some the stuff into my own website, someday. |
=== Tools === | === Tools === | ||
| + | Pretty much everything to some extent, favorites being a mix of C, C++ (ugh, but it is sometimes a serviceable intermediate... templates are a joke compared to lispish, but they are better than nothing... I am very interested in the progress of D and Go), python, scheme, Lua, javascript, and ba(sh)/awk/sed. I think SQL is an quite imperfect answer to the right questions (NoSQL can go to hell). This list is not inclusive. If it's not on this list, I probably still have more than a passing interest, cases in point: VB6, ABAP, CDC-8600 assembly are all things I am more than superficially familiar with. | ||
| + | |||
| + | === Expertise === | ||
| + | * C and Assembly at levels from 8-bit micros to 64-bit commodity for both general and specialized app. I probably am pretty good at language lawyering on C. Again that is '''C''', forget about C++ (unless I have the spec in front of me). | ||
| + | * Emphasis on 32-bit SoC (ARM, MIPS, etc) doing high level app code, system programming, and performance algorithm development in assembly. | ||
| + | * Experience with electrical and software considerations for numerous 8-bit MPU/MCU products including Microchip's line, Atmel, Freescale (68HCx, Dragonball) | ||
| + | * Experience with many of the interconnect techs de jour (USB, I2C, CAN, Ethernet) | ||
| + | * Experience with high speed digital design and electronic manufacturing workflow, PCB layout | ||
| + | ** In the real world I used OrCAD. | ||
| + | ** In my world I have successfully gotten [http://www.gpleda.org/index.html gEDA] and gschem to do my bidding and thoroughly enjoyed putting together a CIS hack for some of my own and school projects | ||
| + | * Expertise in digital SoC design and hardware IP implementation (FPGA projects for instance) | ||
| + | |||
| + | === Tricks === | ||
For everyday development projects: | For everyday development projects: | ||
* pylons - Python web app/service framework | * pylons - Python web app/service framework | ||
| - | * PostgreSQL - best open source/free SQL server, hands down, I'm pretty sure | + | * [http://www.sqlalchemy.org SQLAlchemy] - An ORM that sucks less and made by those that have some clue about the fundamentals of RDBs and why they are valuable. |
| - | + | * [http://postgresql.org PostgreSQL] - best open source/free SQL server, hands down, I'm pretty sure | |
| - | + | ||
==== Open source work ==== | ==== Open source work ==== | ||
| - | * orbitcpp - still technically a maintainer on this mostly defunct project. Contributed | + | * [http://orbitcpp.sourceforge.net] - still technically a maintainer on this mostly defunct project. Contributed implementations to some parts of the spec: Any support, C++ code generator development. |
When I was young and stupid, CORBA seemed like a well thought out idea (as it turned out, it was a little too much thinking) and it was a core technology for the "future" of the GNOME Desktop. | When I was young and stupid, CORBA seemed like a well thought out idea (as it turned out, it was a little too much thinking) and it was a core technology for the "future" of the GNOME Desktop. | ||
| - | * Linux kernel - Have done a few janitorial fixes (race conditions, etc) in drivers, backported some drivers, contributed support for the Intersil prism WLAN chipset SSF. | + | * [http://www.kernel.org Linux kernel] - Have done a few janitorial fixes (race conditions, etc) in drivers, backported some drivers, contributed support for the Intersil prism WLAN chipset SSF. |
* uboot - Pretty much did the initial Intel PXA support and this was put in the tree. Implemented a number of graphics features and implemented and got a <5 second boot back in 2002 for an inhouse company project by implementing basic MMU support and LZO decompression features, unfortunately this did not get submitted. | * uboot - Pretty much did the initial Intel PXA support and this was put in the tree. Implemented a number of graphics features and implemented and got a <5 second boot back in 2002 for an inhouse company project by implementing basic MMU support and LZO decompression features, unfortunately this did not get submitted. | ||
| - | * pygtk - Did documentation/FAQ stuff, distributed extension modules to help pygtk development on Windows | + | * [http://www.pygtk.org pygtk] - Did documentation/FAQ stuff, distributed extension modules to help pygtk development on Windows |
==== Open source interests ==== | ==== Open source interests ==== | ||
| + | I personally endorse all these projects as worthy endeavors for the curious to get involved in. | ||
| + | |||
| + | * [http://orgmode.org org-mode] I've used emacs practically since coming from the womb, but now it is essentially ingrained in my day to day life. | ||
| + | * [http://www.gpleda.org/index.html gEDA] - Great community and developers. I heavily considered doing GSoC this year for a CIS implementation but economically it wouldn't pan out | ||
| + | * [http://www.mame.org MAME] - Historic hardware is awesome and emulation of said hardware is as well. | ||
* [http://llvm.org LLVM] and [http://clang.llvm.org clang] - I started on a project for a backend for an embedded MCU (there is an ongoing project for PIC16s, so this is not as crazy as you think), but its on my MAYBE list at this point. | * [http://llvm.org LLVM] and [http://clang.llvm.org clang] - I started on a project for a backend for an embedded MCU (there is an ongoing project for PIC16s, so this is not as crazy as you think), but its on my MAYBE list at this point. | ||
* [http://wiki.qemu.org qemu] - I am still more interested in this for the general system emulation and its cool code generator ([http://en.wikipedia.org/w/index.php?title=QEMU&oldid=370563445#Tiny_Code_Generator TCG]) facilities than for virtualization | * [http://wiki.qemu.org qemu] - I am still more interested in this for the general system emulation and its cool code generator ([http://en.wikipedia.org/w/index.php?title=QEMU&oldid=370563445#Tiny_Code_Generator TCG]) facilities than for virtualization | ||
| - | I used this to do a weird hack: A captiventfs like thing, but instead for ARM-based Windows CE in order to get access to an Intel proprietary Flash filesystem. This involved some weird stuff: | + | I used this to do a weird hack: A captiventfs like thing, but instead for ARM-based Windows CE in order to get access to an Intel proprietary Flash filesystem driver exclusively for CE. This involved some weird stuff: |
| - | + | ||
| + | ** Implementing a full featured Strataflash device in qemu | ||
| + | ** Writing parts of the Windows CE API (coredll.dll) that the driver library depended on (like WINE) | ||
| + | ** Writing a simple PE file loader with support for ARM binaries and the ability to resolve library relocs into a DLL loaded into the qemu "harness" | ||
| + | ** Writing an IPC system to make cross process calls into the qemu application and hacking the qemu program to break into the emulator to make "library" calls and return results from the emulator memory/stack space. | ||
| + | |||
| + | This worked, the emulated flash space would end up with a formatted filesystem, but this technique may have ended up being harder than finishing the reverse engineering study of the filesystem structure itself. But in the end, the industry realized that NOR flash sucks for this application and was a silly ploy by Intel, and the need for this particular thing is gone. I wonder if it has any general use. | ||
| + | |||
| + | * [http://www.zint.org.uk/zintSite/ zint Barcode Gen] - Despite a few flaws in matrix code generation (patchtime!), this seems like a great starting point and an awesome effort from Robin Stuart. | ||
* [http://musicbrainz.org MusicBrainz] - The site and the infrastructure (software). | * [http://musicbrainz.org MusicBrainz] - The site and the infrastructure (software). | ||
* [http://rockbox.org rockbox] - Embedded ARM is something I slaved away at for years, but I never seem to get the time to contribute to this great project. | * [http://rockbox.org rockbox] - Embedded ARM is something I slaved away at for years, but I never seem to get the time to contribute to this great project. | ||
* [http://www.gtk.org GTK+] - Not a perfect ecosystem, but a nice ball of mud to play with. | * [http://www.gtk.org GTK+] - Not a perfect ecosystem, but a nice ball of mud to play with. | ||
* [http://ironpython.org IronPython] - Hey it might be "from" Microsoft, but core CLR and IL are not so bad. | * [http://ironpython.org IronPython] - Hey it might be "from" Microsoft, but core CLR and IL are not so bad. | ||
| - | * | + | * [http://www.libsdl.org SDL] - One of the nicer open source communities and a very useful library. |
=== Other research interests === | === Other research interests === | ||
| - | * Steganography and specifically steganography in executable code (either hard instructions or interpreted bytecode) | + | * Steganography and specifically steganography in executable code (either hard instructions or interpreted bytecode), especially non-x86, since this is the usual focus |
* Computer architecture simulation/emulation | * Computer architecture simulation/emulation | ||
| - | * Image processing and applications for machine vision and AutoID | + | * Image processing and applications for machine vision and AutoID, especially on resource constrained systems |
| + | * Signal processing in general both analog and digital | ||
* Squeezing performance/Algorithm development and implementation on relatively resource limited hardware (today these would be things like ARM/MIPS SoCs, even PICs and Atmel AVRs) | * Squeezing performance/Algorithm development and implementation on relatively resource limited hardware (today these would be things like ARM/MIPS SoCs, even PICs and Atmel AVRs) | ||
==Credentials== | ==Credentials== | ||
| - | * BSEE University of Rochester - specializing in economics and computer organization (architecture) | + | * BSEE University of Rochester, May 2010 - specializing in economics and computer organization (architecture) |
| - | * 8 years experience working in engineering and OEM customer support for a major manufacturer that was bought out by megacorp Honeywell. | + | * 8 years experience working in engineering and OEM customer support for a major manufacturer that was bought out by megacorp Honeywell. The original company was one of the best places one could ask for. |
| + | |||
| + | == Editor == | ||
| + | I need to either hire an editor, or something | ||
Revision as of 11:47, 19 July 2010
Just graduated from University of Rochester in May, 2010 after a rather long (12 year) college experience during which time I was also working. (No I am not a PhD or MD)
I need to organize this better. Despite the amount, I hope this is mostly relevant as I have a lot of technical/nerd interests (I am a tinkerer and more of a jack of all computer/EE trades master of a few) than any kind of domain expert (I sometimes cogitate about the merits and demerits of this, but I ultimately probably won't change).
Contents |
.plan
- Very pleased that I could be available to talk about UNIX hacking at the Linux workshop last weekend to someone that was interested. I'm excited to find out what I can do at the hackerspace.
- Implementing better barcoding (auto-id) libraries for opensource (probably BSD licensed). Already got a partial implementation working (in Python) of an provably "ideal" data encoder for 2D matrix codes (like Aztec, DataMatrix, and QR). I have not found something similar in the open source world. This involves a very interesting formal algorithm with proof for finding the shortest sequence in generating data stream in a multi-state encoding system.
- I'm doing an asset tracking and budgeting framework for my own use, but I have had to write a bunch of packages that may be useful to the general python dev population (things like API access to isbndb.com and data processing)
- Upgrading my Ham equipment to get back into it. Assembling some data cables.
- Brushing up on my VHDL so I can talk intelligently to future prospects in the EE field
- Learning about the next update to C# and .NET: 4.0 -- I highly recommend C# 4.0 in a Nutshell, I couldn't stand any others that may as well be published "for Dummies"
Interests
Hackerspace
As a relative newcomer to the Rochester hackerspace and not having been a member of a similar organization previously, I am still figuring out what kinds of things would be interesting and community building. Right now I am mostly using it as a place to meet with local people with similar technical interests and an alternative venue from the home office.
In addition to my current pet technical projects, I would like to see the hackerspace thrive and I am anxious to discuss what kinds of things may work and add them to my TODO list.
Ham Radio
Note: I am an Extra and a VE affiliated with W5YI-VEC (which is unfortunately the "wrong" one in these parts). I can apply for Laurel, and possibly get some licensing/exam stuff going at the space. The other alternative is that we get a couple other eligible members or other operators to become W5YI listed and I would not mind being a CVE (paper pusher).
I was surprised and pleased that there is a burgeoning interest in Ham Radio here. I had sort of gotten out of it even though I am a licensed Ham, since 1992, and upgraded to Extra a few years after that.
Currently I am buying some mobile antennas and replacement batteries for my very decent equipment that has been sitting on the shelf for some time
- Kenwood TH-D7 - awesome dualbander with APRS and general AX.25 features
- Icom W32A - A nice upgrade from the following:
- Icom W2A - My first HT (a dualband) it was an engineering marvel in its day, and would still be useful
- Icom IC-736 - This is my main HF+6M allmode rig. I am not huge on HF (not due to lack of interest)
- Yaesu quad band mobile - 10M FM is a bit of a gimmick, but this is still a very nice radio
Field Day
- I started operating under the "coaching" of KB2ERJ at age 8. I don't think I was very competent or too helpful to the contest (I unfortunately can't remember), but it was fun.
- In 2006 I ran a 3A field day station at a local ski lodge, mostly attended by highschoolers with a radio club. Granted, a (1x3) N2PMP is not the best for a fully scored entry (but there were no other club or Extra calls available), but we had fun and PSK-31 contacts are worth as much as CW. W2CM graciously loaned his FD equipment since he was not operating that year.
Programming
Sorry this looks like a work inventory, it isn't. These are all things I am interested in for fun. There are fully legitimate hackers that find programming (software or hardware) tedious (and don't do it, or grin and bear), but I am simply not one of them, I love it.
I put a large description of projects and crap here in case any one else is interested in talking about particular things. I really need to flesh out some the stuff into my own website, someday.
Tools
Pretty much everything to some extent, favorites being a mix of C, C++ (ugh, but it is sometimes a serviceable intermediate... templates are a joke compared to lispish, but they are better than nothing... I am very interested in the progress of D and Go), python, scheme, Lua, javascript, and ba(sh)/awk/sed. I think SQL is an quite imperfect answer to the right questions (NoSQL can go to hell). This list is not inclusive. If it's not on this list, I probably still have more than a passing interest, cases in point: VB6, ABAP, CDC-8600 assembly are all things I am more than superficially familiar with.
Expertise
- C and Assembly at levels from 8-bit micros to 64-bit commodity for both general and specialized app. I probably am pretty good at language lawyering on C. Again that is C, forget about C++ (unless I have the spec in front of me).
- Emphasis on 32-bit SoC (ARM, MIPS, etc) doing high level app code, system programming, and performance algorithm development in assembly.
- Experience with electrical and software considerations for numerous 8-bit MPU/MCU products including Microchip's line, Atmel, Freescale (68HCx, Dragonball)
- Experience with many of the interconnect techs de jour (USB, I2C, CAN, Ethernet)
- Experience with high speed digital design and electronic manufacturing workflow, PCB layout
- In the real world I used OrCAD.
- In my world I have successfully gotten gEDA and gschem to do my bidding and thoroughly enjoyed putting together a CIS hack for some of my own and school projects
- Expertise in digital SoC design and hardware IP implementation (FPGA projects for instance)
Tricks
For everyday development projects:
- pylons - Python web app/service framework
- SQLAlchemy - An ORM that sucks less and made by those that have some clue about the fundamentals of RDBs and why they are valuable.
- PostgreSQL - best open source/free SQL server, hands down, I'm pretty sure
Open source work
- [1] - still technically a maintainer on this mostly defunct project. Contributed implementations to some parts of the spec: Any support, C++ code generator development.
When I was young and stupid, CORBA seemed like a well thought out idea (as it turned out, it was a little too much thinking) and it was a core technology for the "future" of the GNOME Desktop.
- Linux kernel - Have done a few janitorial fixes (race conditions, etc) in drivers, backported some drivers, contributed support for the Intersil prism WLAN chipset SSF.
- uboot - Pretty much did the initial Intel PXA support and this was put in the tree. Implemented a number of graphics features and implemented and got a <5 second boot back in 2002 for an inhouse company project by implementing basic MMU support and LZO decompression features, unfortunately this did not get submitted.
- pygtk - Did documentation/FAQ stuff, distributed extension modules to help pygtk development on Windows
Open source interests
I personally endorse all these projects as worthy endeavors for the curious to get involved in.
- org-mode I've used emacs practically since coming from the womb, but now it is essentially ingrained in my day to day life.
- gEDA - Great community and developers. I heavily considered doing GSoC this year for a CIS implementation but economically it wouldn't pan out
- MAME - Historic hardware is awesome and emulation of said hardware is as well.
- LLVM and clang - I started on a project for a backend for an embedded MCU (there is an ongoing project for PIC16s, so this is not as crazy as you think), but its on my MAYBE list at this point.
- qemu - I am still more interested in this for the general system emulation and its cool code generator (TCG) facilities than for virtualization
I used this to do a weird hack: A captiventfs like thing, but instead for ARM-based Windows CE in order to get access to an Intel proprietary Flash filesystem driver exclusively for CE. This involved some weird stuff:
- Implementing a full featured Strataflash device in qemu
- Writing parts of the Windows CE API (coredll.dll) that the driver library depended on (like WINE)
- Writing a simple PE file loader with support for ARM binaries and the ability to resolve library relocs into a DLL loaded into the qemu "harness"
- Writing an IPC system to make cross process calls into the qemu application and hacking the qemu program to break into the emulator to make "library" calls and return results from the emulator memory/stack space.
This worked, the emulated flash space would end up with a formatted filesystem, but this technique may have ended up being harder than finishing the reverse engineering study of the filesystem structure itself. But in the end, the industry realized that NOR flash sucks for this application and was a silly ploy by Intel, and the need for this particular thing is gone. I wonder if it has any general use.
- zint Barcode Gen - Despite a few flaws in matrix code generation (patchtime!), this seems like a great starting point and an awesome effort from Robin Stuart.
- MusicBrainz - The site and the infrastructure (software).
- rockbox - Embedded ARM is something I slaved away at for years, but I never seem to get the time to contribute to this great project.
- GTK+ - Not a perfect ecosystem, but a nice ball of mud to play with.
- IronPython - Hey it might be "from" Microsoft, but core CLR and IL are not so bad.
- SDL - One of the nicer open source communities and a very useful library.
Other research interests
- Steganography and specifically steganography in executable code (either hard instructions or interpreted bytecode), especially non-x86, since this is the usual focus
- Computer architecture simulation/emulation
- Image processing and applications for machine vision and AutoID, especially on resource constrained systems
- Signal processing in general both analog and digital
- Squeezing performance/Algorithm development and implementation on relatively resource limited hardware (today these would be things like ARM/MIPS SoCs, even PICs and Atmel AVRs)
Credentials
- BSEE University of Rochester, May 2010 - specializing in economics and computer organization (architecture)
- 8 years experience working in engineering and OEM customer support for a major manufacturer that was bought out by megacorp Honeywell. The original company was one of the best places one could ask for.
Editor
I need to either hire an editor, or something