HN user

rotoole

15 karma
Posts2
Comments24
View on HN

When I started the company, we used the RPi as the WiFi Access Point. The trouble with them is that the built in WiFi module is pretty limited in its ability to handle many simultaneous users and to provide a robust signal throughout a space. You can buy 3rd party USB WiFi dongles, but I found that they have a high failure rate over their lifetime. i.e. not the most robust solution.

If you go the RPi route, you may find the following script helpful. This will bridge the 3rd party dongle to the local network, isolate devices from communicating to private network IPs, and forward HTTP/S traffic through the Squid HTTP proxy service. (sorry about the formatting):

#!/bin/bash

set -e if [[ $EUID -ne 0 ]]; then echo "This script must be run as root" exit 1 fi

# Set the proxy interface based on the presence of wlan0 or not

if [ -e "/sys/class/net/wlan0/operstate" ] ; then PROXY_INTERFACE=wlan0 else PROXY_INTERFACE=eth0 fi

PROXY_HTTP=3128

PROXY_HTTPS=3129

PROXY_NETWORK=`ip address show $PROXY_INTERFACE | grep 'inet .* brd ' | head -1 | sed -e 's/inet \(.\) brd.$/\1/' | sed -e 's/ //g'`

# Allow traffic to the proxy's network

iptables -A FORWARD -d ${PROXY_NETWORK} -j ACCEPT

# Drop traffic forwarded to all other class A, B, and C private networks

iptables -A FORWARD -m iprange --dst-range 10.0.0.0-10.255.255.255 -j REJECT

iptables -A FORWARD -m iprange --dst-range 172.16.0.0-172.31.255.255 -j REJECT

iptables -A FORWARD -m iprange --dst-range 192.168.0.0-192.168.255.255 -j REJECT

# WiFi AP Only; Bridge WLAN to eth0

if [ $PROXY_INTERFACE = "wlan0" ]; then iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

    iptables -A FORWARD -i eth0 -o $PROXY_INTERFACE -m state --state RELATED,ESTABLISHED -j ACCEPT

    iptables -A FORWARD -i $PROXY_INTERFACE -o eth0 -j ACCEPT
fi

# Let local Squid get out to HTTP/S

iptables -t nat -A PREROUTING -s localhost -p tcp --dport 80 -j ACCEPT

iptables -t nat -A PREROUTING -s localhost -p tcp --dport 443 -j ACCEPT

# Forward all HTTP/S to Squid

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port $PROXY_HTTP

iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port $PROXY_HTTPS

# drop direct connections to the squid proxy

iptables -t mangle -A PREROUTING -p tcp --dport $PROXY_HTTP -j DROP

iptables -t mangle -A PREROUTING -p tcp --dport $PROXY_HTTPS -j DROP

Aside from being easier to automate, getting IP's via the ASN lookup is also better for blocking HTTPS requests when you are MITM, since the HTTPS request will only contain the IP and not the FQDN.

Also, many firewalls do a 1-time DNS lookup of a given FQDN to resolve a single IP address when a FQDN based rule is created. This doesn't work well if you have an FQDN that can resolve to many different IP's, which is typical for cloud services.

Check out the Meteor Dev Shop talks:

https://www.google.com/webhp?sourceid=chrome-instant&ion=1&e...

They usually have a guest speaker or two or three who has built something on Meteor.

Personally, I've enjoyed working with it over the last two years. It comes with a lot of powerful functionality built in (too much to list here).

But, it is still changing. They just got to 1.0 in September, I think. I know a big red flag for many is its immature testing framework, which is not up to par yet.

My 2 cents:

Even w/ WPA encryption enabled, a malicious user merely needs to get the network password/access to sit on the network and sniff packets as they fly by. This could be achieved thru various network sniffing tools, or some surreptitious people hacking. So relying on encryption alone does not solve anything.

If your guest WiFi is un-encrypted, i.e. no password/WPA, there is still transport layer encryption like HTTPS, that will secure the connection between the client and server, i.e. your web browser and your bank website. HTTPS assumes that you are on an insecure connection, that's what it was designed for!

Finally, many guest networks implement client isolation, which prevents clients on the LAN from communicating directly with each other or to other private LAN's connected to the guest network. Often network admins setup wholly separate network infrastructure for guest access, totally isolating their private back office LAN from the guest LAN.

Anyways, this stuff is hard, and probably beyond the comprehension of your average business that needs to implement guest WiFi.

I'd argue they did build a technology solution, they did constrain their ideas to achieve it during the hack-a-thon, and their "inspiration" award is just that. They were awarded for their ideas and efforts, despite their lack of skills. It's a message of encouragement to others who are just starting out.

This article is like a high schooler getting jealous of a kindergardener for getting a gold star on their homework.

Gina,

I think the first part of your essay is inspirational. I liked and related to your experience learning to code. I'm sure many others on HackerNews would agree.

The second part was the opposite though. I had to read it a few times to fully grok what you were actually mad about:

  1) the "inspiration award" winning team's built something without writing code.
  2) the judges "lied" to these women that they were/could-be coders.
To the first point, I would say, expand your definition of hacking. This team defined a problem, worked on a solution, pitched it to a jury, and got awarded for it. Isn't that what a hack-a-thon is all about?

And it really seemed contradictory for you to say, "a real hacker is someone who tries to code all night, and regardless of how shitty it looks, stands up there and says proudly, “Yeah, I made this. It didn’t work out very well, but I learned a lot." Then to turn around and bash their submission for not meeting your own standard of hacking.

Why? Because they aren't "real" programmers? Because you doubt they will ever be "real" programmers? Because the judges awarded them for being women who tried? Because you felt slighted?

You come off as self-interested, snobby, elitist, and bitter. As a woman and engineer, what kind of role-model are you projecting for your community?

I hope the promise of more women in engineering is to change the dominant "brogramming culture" to be less homogenous and more inclusive of alternative people, ideas, and processes.

Don't you?

I would be transparent. Ask for and negotiate for what you want _up front_, not after the fact. Back it up with evidence based on your other offers, and make it clear that your willing to walk, rather than compromise for something less.

Why treat yourself like a slave for partners who don't care about your interests?

Remember, your company's lawyers are not your lawyers. They are not looking out for your interests, rather the company's interests.

It sounds like you should have a lot of leverage here to get what you want though. You need to negotiate with your employer, or get an agent to do it on your behalf.

They way you describe it sounds like your being sold down the river.

If you are looking to tinker on projects, kits, etc., other tutorials/books may get you the basic starter info faster. You don't need a deep knowledge to just start playing around.

However, if you are looking to gain a serious academic level of familiarity w/ electronics to the point where you can design, build and analyze your own functional electronic systems, then this is the book. It will give you the foundation you need to build any analog, digital, or hybrid system.

Some fun examples of things we built when I took the class: AM/FM radio, microphones, audio speakers, amplifiers, analog to digital converters, and a breadboard computer built and programmed entirely from basic component parts.

Yes, but.... this is a tome. A bible. It covers everything. Its not a hold your hand, electronics for dummys, type of book. You will learn from it, and never stop learning from it. I would recommend getting the student handbook to go along w/ it, if you're truly starting from no electronics knowledge. The handbook has more examples and tutorial type stuff in it.

One of the coolest experiences I had in grad school at MIT was taking professor Horowitz's Physics 123 class at Harvard, and reading this book cover to cover in a semester. Pain!

FYI, AoE covers BOTH analog and digital circuits in great detail.

You don't need to know how a computer works in that level of detail, in order to program it. But having started my education w/ high level languages like Java, C, C++, etc... it was fun to work back down to voltages, capacitors, buses, clocks, EPROM, transistors etc, and see how it all comes together end-to-end.