It is a fun rabbit hole to go down. Good luck!
HN user
rotoole
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
The keyword to search for is "WiFi captive portal".
My company provides captive portals for guest networks as a low cost hosted service:
I recommend the Cisco Meraki Go Access Points, because they are low cost and easy to setup and manage.
https://www.amazon.com/Meraki-Go-Indoor-WiFi-AP/dp/B07GX1RHS...
Hope that helps.
Thanks for the eulogy Fragmaster:
Yes, this means the business model is based on extracting whatever they can get from you.
2₵s: The wording of this title is extremely misleading. "Biden Crime Record", refers to controversial legislation Biden was involved with, not a record of crimes he is accused of.
The actual article about Instagram suppressing opinions about that controversial legislation is interesting.
LOL. Silence is an answer.
I haven't checked if this works, but using a HEX code for the color value would be slightly shorter:
<body bgcolor=#000>
Geniuses Wanted: NASA Challenges Coders to Speed Up Its Supercomputer:
https://www.nytimes.com/2017/05/08/science/nasa-supercompute...
Why not use the Raspberry Pi?
Lord why? 40M for engineers who will quit as soon as possible? What is the point?
《Edit》honestly I read the whole article, please explain how this makes sense from a fitbit perspective.
Maybe someone would pay a premium to own Ross Ulbricht's BitCoin.
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.
A good reason to be in Boston this week.
This is an issue across many EU countries, that require by law that WiFi providers track what their users do online, and to keep a permanent record of it. Its onerous to implement and support. I believe it arose from anti-terrorism legislation.
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.