Monday, September 27, 2010

GHC: where will I be when? Lastminute planning.

The RSS feed is http://geeklinda.blogspot.com/feeds/posts/default/-/ghc10 but I don't know how to add it to the list yet. Finding out now/shortly.

I'm in the airport in Chicago waiting for a plane to take me to Atlanta, where I'll stay a night in a cheap Best Western before going to the GHC hotel in the morning and meeting my roommates!

My current plan (yes, it's sparse; but I'll be going to a session every period- I just don't know which ones yet.)
Tues morningish check into the room and drop off my luggage (and leave a not for my flatmates, who're landing at 11:30, I think...)
Tues 12:30 work a Hopper shift at Shirts and Posters
Tues 3-5pm say hi to Bj at the community table in the Cyber Center.

The sessions that I'm assigned to cover:
Linda Goldstein
Blogging, Note
taking
1. (*) Susan Graham: Using Information
Technology for Health and Healthcare
– A Look at Research Challenges
[note taking and/or blogging]
2. Distributed Computing Systems
3. (*) Change Agent Awards Panel
I don't know what times those are at, yet. I'll look it up first thing on Tuesday. My laptop isn't dealing well with the formatting of the GHC master schedule, whee.

I'm not entirely clear on where I'm supposed to blog about these sessions that I'm covering, or what the difference is between a blog and note-taking. But I'm good at taking notes, and I sure do blog a lot, so I figure that I'll ask BJ or whoever's around about what format they want everything in.

After four years of university, no note-taking assignment scares me.

I'm really looking forward to having a Poken! I registered on the Poken wenbsite already but I don't see a way to reserve them on the GHC website. I'll be there early, so I guess I'll probably get one if they have any left.

My actual Hopper shifts are:

Shift #1: Tuesday, September 28

12:30pm-3:00pm

Shirts & Posters

Shift #2: Thursday, September 30

6:30am-12:00pm

Cyber Center


I might volunteer for more of them, if there's a time slot where there isn't a presentation that catches my fancy. Working the table seems like an excellent way to meet people.

I'm also excited because I bought some new clothes that are pretty spiffy (by my usual grunge college student tracing-cables-into-dusty-places standards) and I think that I look pretty excellent. I totally have tennis shoes on, though. New black ones, but still not heels. There's no reason to wear heels, you know... well, no reason that I like enough to use. Uncomfortable and a little dangerous: not how I like my walking experience.

I'm looking forward to the career fair and seeing the lady from ThoughtWorks again, and registering for the cool competitions that some of the tables are holding...

To be honest, I'm looking forward to fitting in. As a female geek, there aren't that many places that I can do that irl, not really. It's kinda what's been getting me through the week.

Right now I'm reading the book Coders at Work, edited by Seibel. And it is fantastic. http://www.amazon.com/Coders-Work-Reflections-Craft-Programming/dp/1430219483

Friday, September 24, 2010

2 books: algorithms and Beowulf

http://www.amazon.com/Algorithms-4th-Robert-Sedgewick/dp/032157351X/
Pretty damn cool. Fucking long. Would be a pretty good textbook. Covers everything. Or at least a whole bunch of cool things. I want this one.

I'd prefer a more specific book on the topic, but this is really relevant to what rancorbeast is doing right now. The long explanation of what Linux is in the middle is kinda er, why is this here?

Data entry

Ugh. I might get around to it sometime.

http://library.iit.edu/recommend/

http://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612
http://www.amazon.com/Refactoring-Improving-Design-Existing-Code/dp/0201485672
http://www.amazon.com/GRE-Computer-Science-REA-5th/dp/087891434X
http://www.amazon.com/Regular-Expression-Pocket-Reference-Expressions/dp/0596514271
http://www.amazon.com/Learning-Perl-5th-Randal-Schwartz/dp/0596520107
http://www.amazon.com/Programming-Perl-3rd-Larry-Wall/dp/0596000278
http://www.amazon.com/xkcd-0-Randall-Munroe/dp/0615314465

Two seminars: memory banks and WLAN

I went to two seminars in the IIT CS department on Thursday. It was just me and about fifteen grad students, a couple professors, and maybe a few confused undergrads. The talks were over my head, but not far enough over that I didn't understand them; just far enough over that I didn't fully grasp the context in which the points made should rest.

Talk 1: controller/hardware level memory allocation, and the correct (best worstcase scenario) way to redirect addressing functions between banks (because a bank based on an 8bit system with a 16bit address, which is the current norm, ends up only having 64KB of address space, and therefore there must be more than one bank... ) There was some discussion on NP hardness. Now, I had a bit of an introduction to NP[n] with Nazli and databases, but it was cursory. Here, have a semiuseful wiki page. http://en.wikipedia.org/wiki/NP-hard

There was a debate about how this scheme works with vortexes. I don't know what a vortex is in this context; I'm under the impression that it's a pattern of behavior of a hardware system, or possibly an equation describing the behavior of a bank-selector-direction planning schema. Some googling brought up these links.
"The "Vortex" processor is a general purpose CPU with a novel architecture and instruction set." http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4137031&userType=inst
"Vortex is a language-independent optimizing compiler infrastructure for object-oriented and other high-level languages." http://www.cs.washington.edu/research/projects/cecil/www/vortex.html

Talk 2: WLAN, network access points, accessibility, and algorithms (and business plans!) which will enable some users to be hop points, i..e transfer traffic through themselves (like using your smartphone to provide a mini wifi network for the guy with the netbook next to you on the train) in an automated way which compensates the guy with the phone for providing access to the guy with the netbook.

Calculating how much someone should be compensated for how much bandwith (and he didn't even mention battery life issues) and how to auto-sense things like which device is closest to the network connection point and how to minimize the number of hops... how to make a grid of access towers such that they're on optimal frequencies for not interfering with each other (because you know that the main wireless frequencies overlap with each other, so you shouldn't have a tower broadcasting on frequency 1 next to a tower broadcasting on frequency 1... much better to have a 1 next to a 4, etc.)

There were graphs showing optimal arrangements and equations showing how the interference amount was calculated. Throughput tradeoff with interference, charts of data. MUCA, MICA, RC, ADJ. (what are those? In context?) Company-set limits on maximum transfer point usage, etc to keep the cost curve in the right place. Large graph of user benefit, transfer point cost, transfer point benefit, and company benefit/cost...

I have seen the future, and it's based on equations.

Maybe you can get more out of the lecture descriptions than I can.

There are two more next week which I won't be able to go to because I'll be at #ghc10
Persistent links here:

MentorMob.com

I don't plan on working for them; they don't need someone with my skills. I'm not really into working for just-started startups unless I'm one of the starters. I will be someday, but right now it's more about doing cool technical things than trying to force-grow someone else's budding dream by making it my dream.

Their website launches Monday; and the two founders will be in two different states at two different competitions when it does launch. They're both nice guys with some good technical skills. We talked a little about Liit (the literary magazine that I started that I think is now dying partially because I graduated and I'm not around to make it go zoom any more) and membership participation difficulties.

Their business principle as I understand it is to host coherent course data and how-tos in such a way that people can use it as a learning tool to teach others. They'll make money through targeted advertising data- i.e. people of what race/gender/age/location are trying to learn (care enough about it to learn it on their own!) welding/Java/treetrimming etc. To a lesser extent, they'll host ads on the site itself.

They seem like nice guys. They have a classy logo. "Our designer," they said. I smiled. "Not many people I know have their own designer." In fact, I think designers usually own themselves. But you know what I mean.

The guy I talked to was Kris Chinosorn. I didn't catch the name of his co-founder.

I like their motto. "Disrupting Education through People-Powered Learning."

Thursday, September 23, 2010

Curiosity

I want to work for company [N] partially just so I can quiz them on how their algorithms work! Aaaaagh! #happy #curious (The algorithms aren't on the website except somewhat vaguely... I won't be done being curious at least until I know packet details and malloc details.)

I'm not going to name company names (until after everyone gets done saying yay/nay to me) because I'm still very much jobsearching while still hoping very much that company [N] (and also [N+1] and [N+2] etc!) hire me. (But when it's done, there will be lists!)

This is very internally conflicting.

Wednesday, September 22, 2010

B-tree vs. binary tree

This is inspired by something that Mantas said on Tuesday, about how people he interviews should know a B-tree from a binary tree. Now, I know about binary trees but I've never heard of a B-tree, so I did some research.

To my new (but still very limited) understanding, a B-tree is a tree which can have more than two branches from a node, and more than one data point (number) in each node. B-trees are used in databases "and other places which use large data chunks." Basically, a B-tree is for searching in data which is all or mostly stored on a magnetic disk, i.e. slow retrieval.

It sounds cool. I haven't written one. I kinda want to.

Here's a nice blog about it; obviously this person understands it in more depth than I do, and uses it in practice. http://attractivechaos.wordpress.com/2008/09/24/b-tree-vs-binary-search-tree/

Here's a guy who wrote a Btree, and some code. http://resnet.uoregon.edu/~gurney_j/jmpc/btree.html

Here's the wikipedia page on it, much good may it do you. http://en.wikipedia.org/wiki/B-tree

Some more in-depth description (my favorite link) http://www.bluerwhite.org/btree/

New books!

1. Design Patterns by Gamma, Helm, Johnson, and Vlissides
I own this, and it is wonderful.
Creational patterns, structural patterns, behavioral patterns. This book will blow your mind continuously and repetitively and probably make you enormously better at everything that you do that requires structure of any kind.
I'm reading it, and I keep having to look stuff up. It's wonderful.

These following four are from the "new books" shelves in the university library.

LINQ is about databases. LINQ is to databases as web 2.0 is to 1995.
First sentence starts with "C# 3.0 and .NET 3.5 introduce a new set of language features and APIs for working with data called Language Integrated Query (LINQ)." So if you hate it already, go away and be a hater, because that's what the entire book is about. It actually looks pretty cool.
Here, have an uninformative Wiki link. http://en.wikipedia.org/wiki/Language_Integrated_Query

3. Eyetracking Web Usability by Nielsen and Pernice c2010 http://www.amazon.co.uk/Eyetracking-Usability-Voices-That-Matter/dp/0321498364
Contrary to what I actually thought, this book is actually about what your eye looks at. Right now my eye is looking at the inside of my eyelid, because I'm tired and typing by touch. Dammit, typo. Go back and fix. Zone out while typing again- this time with eyes open but unfocused in the direction of my keyboard. Man, someone could make some serious revenue by sticking an ad in the whitespace to the right of the textbox that I'm typing in right now. Come on, people- the money isn't in ads on the blog, but in ads on the blog interface! Sooo many people blog that there's gotta be some serious money in there.
On the other hand I'd probably go a little mad if there was an ad there, especially if it were moving or blinking.
We're all guilty of immediately clicking the big button, then saying "oops" ...we're pretty well-trained lab rats.
One last note: lots of cool color pictures of websites with eyetrack patterns superimposed.

Calculus of variations! Little eentsy book. alephomega might <3>

It's a nontechnical book with discussions of politics and regulations, expertise as power (in online communities), and makes surprisingly little mention of encryption. it addresses the issue of court cases about what one person accessed that was illegal in their country but hosted in another country. Lots of international law issues. This book is very meta and summarizes itself a little often. The bibliography is long and beautiful. Was this someone's thesis?
I was hoping for more discussion of crypto.


Tuesday, September 21, 2010

IIT ACM mini job fair

SB104, 5:15 pm Tuesday Sept 21, 2010

Dr. Grossman:
A major that sounds like you used to be a CS major, failed out, and picked this instead, is a bad thing. Examples: Computer Information System, Internet Management, (yadda) (and presumably my major, too- although I was never a CS major because I only realized that I wanted to be one in my sophomore year, which was too late to switch.)
Work experience is a big plus (duh)
Interview question: "how have you handled failure?" (My answer: with more research, more man-hours, and terrible coffee.)
There are 15 people here, including all presenters.

Bruce Mueller is next up: his job is to pimp the CMC.
"I've hired thousands."
"Always put the company name and job title in your resume."
(Mueller speaks in an assertive and aggressive manner.)
"More and more companies are using lunches and dinners as part of the interview process." This is part of pimping the CMC's workshops- some of which I think are useful! (I'm sorry, but any CS company that tries this will go out of business from lack of interested talent. Who cares about which fork you use if you use the wrong method?)
"Research has been done on this." i.e. on the 30 second rule of meeting people and forming an impression. (Show me the citation and I'll believe you.)
"How many hours have you spent studying? And it all comes down to a resume and thirty seconds. I know, it's not fair." (Do you also know that it's dumb? And perpetuated by HR flacks?)

Grossman introduces Paula Laurent, a nice black lady who looks more or less my age- she used to work at TransUnion and is now in for her Masters and PhD (?) at DePaul. Rocking! She explains the Google interview process (which I more or less knew because of Dmitry and Roman, but which is good to have a refresher on): preliminary contact, 3hr coding interview over the phone, then 2 in-person interviews (they fly you in!)

Mantas talks about his employer, Backstop Solutions. www.backstopsolutions.com
60 ppl work there, 20 of which are developers. They've been around 8yr, and the company is worth several million.
"The many things you can do to instantly fail yourself from an interview."
Backstop employees need to be good at teamwork and seem like they will be friends with the people at the shop. They get 100s of resumes for every open spot. "Everyone in the company looks at resumes."
"If you lie or exaggerate on your resume, we will tell other companies about it." (How? Why bother?)
Learn about B-tree vs. binary tree if you want to work at Backstop. Also, write your own recursive list.
"The majority of people who come in [to interview] can't code to save their life."
"If you put C on your resume, you should be able to outline malloc during your interview."
Mantas laughed at himself a little and called his talk "super depressing." But it really wasn't... it was informative, though.
In 4-6 mo new employees at backstop are considered "trained." (and therefore they don't want to fire anyone- that's a huge loss of investment!)
They're hiring >5 people and expect to get ~500 resumes at the career fair. Last time, they followed up on 4 and hired none.
"If you're good, we'll hire you" seems to be the theme (and the unspoken second part of that is "but practically no one is 'good' ")
When it comes to resumes, Mantas says, "we're going to tear upas many as possible as quickly as we can."

Ori talks about working at Orbitz. Orbitz employs about 800-1000 people, he says. He met with them at a Fall career fair, was offered a job in November for after graduation... Orbits likes lots of lead time, he says.
Coding competitions = win; they make you stand out. Check out bit.ly/orbitz2010 for some awesomeness. (This link appears to be broken. Did I copy it wrong?)
ACM helped me, he says. It was a launching point, a meeting people place, a way to interact with faculty.
In the last 6 months, Orbitz hired 5 IIT grads. This implies that they might be willing to hire more.
Orbitz is casual dress, ori says, and people tend to leave at 5pm. There's a focus on pacing and not having big all-night last-minute pushes.

There are 21 ppl here, including 7 event organizers/presenters.

Vinny works at CME! (Mercantile exchange) He brought swag- fancy pens and fancy keychains.
vinny.badrinathan@cmegroup.com
"I write a lot of tools for myself."
"If you're good, we'll hire you."

Dr. Grossman discusses the structure of learning CS. When it comes to specific skills, he says, "There are too many and they change too often," (which all the presenters agree with) so IIT teaches none of them; only "basics" which don't change so much and are nececcary for understanding.
If a professor wants to add a course, he says, first they have to "tie it to a top ten university." Meetings sometimes include arguing about whether a university is in the top ten. "If they're doing it, we'll do it." (I wish he hadn't implied that the IIT undergrad studies committee does no original research - or local or IIT-specific situational research.
Dr. Grossman says that you shoudl look forward to a 50-70 hr workweek, and enjoy what you do. "Who is that kid? He's living here!" is the goal, he says. (He seems a little manic...)

Walk-on presenter Josh Haycraft of InStep Software (IIT CS '06) jhaycraft@instepsoftware.com
4 IIT grads were hired at InStep this year.
Instep has 50 employees in the US and 50 spread through China.
They write software which energy companies use- tracking and predicting generator lifespan, etc. Lots of databases.

Dr. Evens offers her services as a resume checker. evens@iit.edu
Dr. Grossman offers his services as a resume checker (but on a strictly limited basis) grossman@iit.edu


more books

I picked up everything that I passed that looked interesting.

1. Ruminations on C++ by Koenig and Moo.
I was wrong. Put it back. (also, copyright 1996)

2. Ruby Phrasebook by Clinton
Wins best of show. I'm considering stealing it. http://www.amazon.com/Ruby-Phrasebook-Jason-D-Clinton/dp/0672328976

3. Object Solutions by Booch
Good narrative style, but you could find as much content by reading blogs for a while. There are some fun sections, including a discussion on how easy it is to build the wrong thing if management is being stubborn. Very dated discussion of project management. (i.e. waterfall is assumed, rather than agile dev)

4. Mastering Perl by Foy (O'Reilly book)
Obviously, anything O'Reilly is more or less worth reading. http://www.amazon.com/Mastering-Perl-brian-d-foy/dp/0596527241
Verdict: I think I'm in love.
Advanced regex, untainting data, debugging perl, benchmarking, strictures, Pod (documentation), perltidy ftw, ...
Obviously I'm not a Perl Master. I should probably be reading an introductory text, if anything. But I'm impatient. :) Besides, I'm playing too hard with Ruby.

Lol, "talk to the bear" - the practice of explaining your code aloud to someone- coworker, bear, rubber ducky... usually leads to you saying "Oh, nevermind, I got it."

"Coding is where laziness meets impatience... oh, and competence."

5. Computer Forensics for Dummies by Volonino and Anzaldua
It's very basic. Chapter one will dispell your ignorant ideas (if you had any) about privacy. It has some fnu details. Ch. 2-6 are legalese. Ch. 7 is a transition to Ch. 8, which has some good stuff for people new to the realm. 9-11 are mirros of 8, but about email, docs, drives. Ch. 12 = cell phones. The rest of the book is mostly legalese.

Anyone who thinks that this books qualifies them for something is, indeed, a dummy. But it would be a good starter text for a scifi author trying to branch out into soft cyberpunk. And it might serve to intrigue teenagers (or careerchangers) into giving the profession a deeper look.

"World War Web: The Big One" should be a short story about crypto, legislation, and privacy.

6. Innocent Code by Huseby (Copyright 2004)
Not as dated as some, but the section on SQL injection is a a little old (I should blog about that, hmn), and the bit about sending email with a false address, while fun, is generally protected against nowadays.

p.193-195 is basically the summary of a class I took last year. Yay, packets.

7. Crypto by Levy.
This one, oddly, (none of the others have) has been checked out. Seven times. The most recent one was in 2003, though. So... meh. Makes you wonder why libraries even bother to have books, right?
It actually looks somewhat interesting- humanizing tales of the creation of DES and other crypto firsts.

8. Open Source 2.0 edited by DiBona, Cooper, and Stone.
Glossy and orange, this book actually looks "modern." It's an O'Reilly, although it's not in the traditional visual format.
It mentions Mozilla and Slashdot by name in the index. In one of the appendixes, it provides the text of a few of the most common open source licenses.
I wouldn't call it worth buying, but here it is if you want it. http://www.amazon.com/Open-Sources-2-0-Continuing-Evolution/dp/0596008023

Right. Enough of that.