Saturday, July 2, 2016

OpenDataSTL, Code Until Dawn, and Papers We Love

The Meetup groups in the title are what I would consider my current favorites as far as Saint Louis tech meetups. Since arriving in St Louis and going to these, I've started keeping a github repository with my own projects. At Code Until Dawn recently, I did the final work on my neural net code. I got to talk to a lot of programmers (20-30ish) and saw what each of them were working on. One of them was doing tutorials and website learning projects on FreeCodeCamp (this was on 29 April 2016). I decided to try it out myself. Freecodecamp.com walks you through learning to code in several key areas in a systematic way. There are a few area I can strengthen (front end development) and new areas I can learn about to increase my Javascript knowlede (NodeJS). www.freecodecamp.com It also makes it easy to link up with nonprofit and do projects for them to build a portfolio. Since the above, I've gotten a little more familiar with Node.js and installing projects for it using npm. I got to the first project module, and it is for making your first website. I am working on two other areas, Three.js and Leaflet web mapping, which will lend themselves to that project when I'm at a good milestone point. I've gone through the whole CSS bit (there are 76 small lessons in the HTML/CSS category), but feel like I need to go back and take notes this time. Other notes from the 29 April Code Until Dawn meetup at TechArtista: Super cheap GPS chip for small projects - the NavSpark mini ($6). A $25 software defined radio device called the NooElec. While helping BK on his RPi speed issue, I also found https://github.com/jetpacapp/DeepBeliefSDK/tree/master (which has the source code for running a neural net on the RPi GPU). The RPI has an open sourced SDK for deep learning on the GPU (Broadcomm open sourced the design notes for the GPU) now. Was reading some blogs, and found that the RPi also comes with an FFT library that uses the GPU (after doing an update): http://www.raspberrypi.org/accelerating-fourier.../ This would be perfect for software defined radio project work. Other: this talks about machine learning on the Pi: https://scientistnobee.wordpress.com/2014/06/20/machine-learning-with-raspberry-pi/ ------ 8 February, 2016: Relevant to open government / OpenDataSTL: I was browsing Kaggle.com, a website focused on teaching people data analytics and about deep learning (and also trying to be a hub for the emerging career field of data scientist), and I saw that the US Department of Education has a competition there. For that competition, they are using a dataset pulling from student aid records and tax records. That means there's an open resource for seeing what the cost/profit tradeoff will be for a specific school and degree: https://collegescorecard.ed.gov/data/ ------ 20 Sep, 2015: Went to a OpenDataSTL / Coders for America meetup tonight. There were five mapping / GIS companies represented. Most of them worked in the mapping companies or were web developers. One guy was from the history museum and wanted help taking pictures of the 1904 World Fair that was here in Saint Louis and mapping it in 3D. Apparently, the mapping companies have processes to do that. I might help them out with that project. ------ 4 Sep, 2015: Another technology that the intelligence community has attempted to keep out of the hands of the citizens it is supposed to be protecting: Went to a 2600 meeting at the Arch Reactor for a pgp key signing party. Exchanged signatures with 7 people, and spent the rest of the time listening to them talk. Essentially what a key signing party does is let groups of people make an open source verified web of trust. The larger these get, the more crypto communications happen, which makes widespread warrantless surveillance much harder.
There is a web of key servers that peer, exchanging keys and key relationships. A key has a hash, a name, and an email address, all of which are searchable via the key servers' web pages. From many different clients or the linux command line, you can perform the functions to interact with any of the key servers. Commands follow.
To make your own key from the command line: "gpg --gen-key" Follow the instructions, choose the defaults for your first time, select a pass phrase. You'll likely have to hit keys and move the mouse around to help it generate some random numbers.
At the end, it should list your key information. To show it again, "gpg --list-keys". Mine shows: "pub 4096R/8F6B884E 2015-09-04" as the first line. "pub" just means that's the public key, the one you'll want to share/put on the key-servers. 4096 is the key length, R has to do with the key generation algorithm (RSA), and 8F6B88E is the key hash. You need the key hash for the next command.
This command sends the key to a public key server: "gpg --send-keys --keyserver sks-keyservers.net 8F6B884E" (note that there is a large community of key servers which are synching their key directories with each other every hour or so)
After exchanging key hashes with everybody, people looking at my ID to verify who I was and signing the key, I got back home and am going through signing everyone's keys who signed mine. Here are those commands:
I wrote down enough information on each person to find their keys on the key servers via the sites' search - either the hash or an email address. Next, I use this command to retrieve the public key for that person: "gpg --recv-keys --keyserver pgp.archreactor.org 42B7C552"
Note that I used a different key-server this time - not important, all the key-server peers exchange keys with each other every hour.
Once that's done, send the key back in so that other people can see that you've signed their key: "gpg --keyserver pgp.archreactor.org --send-key 42B7C552"
That's it as far as creating a new PGP key and putting it out on the public key server / address lists, and making a web of trust by signing peoples' keys / having them sign yours. The only other thing to do is to encrypt and decrypt messages using each others keys.

------

I think I posted this on FB sometime in July, 2015: https://www.youtube.com/watch?v=iH7osNm5raw

-------

28 Mar, 2015: So, I've been slowly working toward this talk I'm supposed to do for Papers We Love Saint Louis on basis functions / Wavelets. I've scanned through a bunch of scholarly articles linked by Google Scholar and have downloaded a bunch of them. I've noticed that when I research a subject, I get a ton of browser tabs open, end up with a lot of disparate files, and don't have very effective ways to keep things organized. What I end up with is a lot of folders with files in them, and I end up losing track / forgetting about half of them. I think what I need is a mindmapper (type of software) that will allow you to quickly link a file locally, as well as allow links to URLs that will open in a browser. -- dad commented "go for it, you can do it"

-------

7 Mar, 2015:
Ouch, still scanning papers. Stressful. Not sure exactly on layout of the talk either, only have a vague idea at this point, and I have to keep studying because it's over my level.
http://www.meetup.com/Papers-We-Love-in-saint-louis/events/220109658/ (update Jul 3, 2016: I was trying to get ready for an advanced talk for Papers We Love on Apr 20th - it was over my head and I was struggling - I ended up not being ready by that first date, but gave the talk in June, if I remember correctly on the date - it went very well that time - I ended up talking about Wavelet functions).

I've been reading about basis functions, and one of the things I've noticed is how they are kind of thrown over a data set, falling like a web around the data points (well, getting adjusted around it I guess, need to keep reading).

Comments:
(me): One of the cool parts about the project I've been working on for my job lately is that it's forced me to learn about CSS. So now I'm actually proficient in making a bit nicer looking web pages. Probably will put a page back up, maybe link it with an FTP server, and share a folder with groups of papers, along with links to another github directory (will probably put one up myself - the Papers We Love github directory is too sparse).
(me): Working on configuring the ftp server (vsftpd process) - this page is useful for finding things on LInux: http://www.cyberciti.biz/faq/howto-find-a-directory-linux-command/
(me): I've been having one problem at work in which in my CSS configuration, trying to do div show and hides from javascript (using several different methods to do so) keeps completely failing. Not sure what the issue is, but after spending 3-4 hours on it, I talked to a coworker who mentioned using CTRL-F5 to refresh the browser cache...also saw some comments on forums of people having the issue that indicated the CSS config might be the problem. Not sure at this point.
(me): http://www.staroceans.org/documents/Wavelets%20for%20computer%20graphics%20%20A%20primer.pdf
(me): I found this very relevent MIT lecture set that I've been watching, and I'm going to use the above paper as a placeholder. I'm not going to constrain myself to the paper by any means, but intend to give an overview of how basis functions are used, as well as the process of throwing them against an image / going back and forth between the input image and output matrix. I'm going to try to have working code and bring a webcam. The video will be thrown up on Youtube of me giving the talk.
http://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/video-lectures/lecture-28-similar-matrices-and-jordan-form/


---------

19 Feb, 2015:
Update:
I've found out that I can get access to a very large amount of research papers for free via Google Scholar. If you type in a search term, any link without a PDF to the right is behind a paywall. If you were to buy papers at the rate they are being sold by these middlemen, you would be out of money faster than you'd even have enough material to do anything with. However, about three per page of results have a PDF download link to the right. I've found that multiple resources often have the same papers, with some being available for download for free, and the majority charging a high price for access. This is because the academics themselves are not getting paid by the paywalls for their papers, but they are uploading to a lot of locations - the great many of them which turn around and charge outrageous fees for work they are getting for free.

No comments:

Post a Comment