Setting Up a Pi Hole Made My Home Network Faster - <AUTHOR> https://www.brianchristner.io/how-a-single-raspberry-pi-made-my-home-network-faster/ <comment><USER2> Please add "Pi-Hole" to the title, this is just the umpteenth post about that and the title is clickbait.

<comment><USER3> Ok. Here are some of the others:

[https://hn.algolia.com/?query=pi%20hole%20points%3E3&sort=by...](https://hn.algolia.com/?query=pi%20hole%20points%3E3&sort=byDate&dateRange=all&type=story&storyText=false&prefix=false&page=0)

</comment></comment><comment><USER4> This is essentially a better-managed, centralised equivalent to the long- standing practice of using the HOSTS file to block unwanted sites at the DNS level.

Unfortunately it seems there's now a desire for browsers (and soon, maybe other applications/systems will follow) to make DNS requests inside HTTPS tunnels (DoH), but maybe that'll just encourage more the use of MITM proxies which have almost become a taboo amongst the force of "HTTPS everything" security-authoritarianism. Web security these days may be just as much focused on securing the profits of the advertising and tracking companies as it is against malware and actual user hostilities...

<comment><USER5> Yeah. HTTPS everywhere and DoH have always seemed like part of a 5 year plan to kill ad blocking. Once the ad networks can use HTTPS + DoH + ESNI + CDN we're screwed. Application level DoH is just nasty.

I also think it'll encourage consolidation onto the existing major providers because everyone is going to want to be on an unblock-able IP block.

<comment><USER6> I'm sorry and I know these kinds of posts are sometimes discouraged here on HN but do you have a eli5 for that or possibly some reading I could check out. Why would https everywhere allow advertisers to enhance their targeting?

<comment><USER7> I see less of a conspiracy there and more a classic tragedy of the commons. If you make it harder for malicious parties to intercept, read and modify your requests, you automatically make it harder for security research and any beneficial purposes as well.

<comment><USER8> Or simply, past some point, security and usability are enemies. It seems to be impossible in practice to tell whether a thing is being done by a fully-aware user, by a confused user, by user under duress, or by malware impersonating the user - so the standard approach to security is to simply kill off any feature that could even remotely be misused. Which essentially means any and all features that are not under full control of the service provider.

One day soon someone will figure out that the right way to deliver any and all content is through an end-to-end, cryptographically secure server -> HTTPS -> NIC -> HDCP -> screen pipe. And then we'll all have TVs instead of PCs, but at least they'll be secure™.

</comment></comment></comment></comment></comment><comment><USER9> I was thinking of a device similar to a pi-hole for blocking TV commercials. It plugs into your TV's HDMI port and somehow as soon as a commercial starts it switches to playing some relaxing music or a low key picture slide show. Even just switching to a blank screen would be better than the commercials yelling at me. Not really sure if it is feasible because it would have to have the smarts to distinguish between the actual tv show and a commercial but I'd play good money for something like this. And for bonus there would be some running metrics, just like how those water fountains that say something like "saved 3432 plastic bottles from entering the environment," this would say "saved you for seeing 242 hours of commercials"

<comment><USER10> The easiest way to achieve this is just don't watch live.

I honestly don't remember the last time I watched actual live TV. I just recorded it and watch it later, then fast forward through all the ads.

Even if I'm watching it the same night, I'll just sit down to watch it slightly late, so I've got enough of a buffer to skip the ads, and catch back up to live by the end of the show.

<comment><USER11> Surely a computer can do that in sub-second time? As soon as it sees the signature of a well known advert start blocking.

Then again, what about clips from the show that you're watching, it might start blocking part of the show as it thinks it's an advert.

<comment><USER12> Seems like this is something machine learning would be very good at, given that commercial visuals look very different from "real" show visuals

<comment><USER13> As far as I know audio levels in commercials are different too. I don't know the exact number, but I seem to recall reading some time commercials are usually 30% louder or something. They are definitely noticeably louder than most shows, except maybe sitcoms.

ETA: Looking it up it looks like America has laws about this now. I'm in Canada I'm not sure if it's the same here.

And on further reading, it seems like advertisers may be using excessive compression to artificially boost loudness and skirt the law.

<comment><USER14> There's volume and then there's "loudness."

Even if peak volume is under some prescribed maximum, compressed audio can feel very loud. Commercials often leave very little dynamic space, which makes them jarring in that they feel "loud."

</comment></comment></comment></comment></comment></comment><comment><USER15> Pi holes were already discussed extensively and at length a few months ago:

[https://news.ycombinator.com/item?id=18075159](https://news.ycombinator.com/item?id=18075159)

[https://www.troyhunt.com/mmm-pi-hole/](https://www.troyhunt.com/mmm-pi-hole/)

<comment><USER16> And the conclusion was, at least for me, is that this doesn't require Pi Hole if your router software supports ad-blocking (OpenWRT, pfSense do), and that DNS-level blocking cannot replace wide-spectrum content type blocking such as in browser addons like uMatrix.

<comment><USER17> With Asus routers that can run Merlin [1], AMTM [2] is a nice little suite for adblocking.

All you need is a USB formatted to EXT4 and you're good to go.

[1] [https://asuswrt.lostrealm.ca/](https://asuswrt.lostrealm.ca/)

[2] [https://github.com/decoderman/amtm](https://github.com/decoderman/amtm)

</comment></comment></comment><comment><USER18> Tempting because playing with Raspberry Pis is always quite fun. I'm not sure why - I can spend an hour doing something on a Pi that would make me groan to bother with otherwise.

But a question for anyone who's done this Presumably most of the computing devices in your home make their way onto other networks from time to time. So you need a per-device solution to the ad infestation in any case. What's the point of adding a house-wide one?

This is the consideration that's stopped me doing this so far - the adblocker I currently use is going to have to remain in place regardless, so what would a Pi Hole add (other than a pleasurable hour or so toying around)?

[Edit: I don't have a smart tv, google home or similar net-connected but unhackable device]

<comment><USER19> Never let the good be the enemy of the perfect :) adding a PiHole will work for all your devices at home, tablets that don't usually leave the house etc.

It doesn't stop you from running adblockers on devices in addition. As it takes about 10 mins to setup it's totally worth trying out.

<comment><USER18> I'm tempted, but can you think of anything it adds over device-installed solutions (which all my devices have, and will keep because they all travel)?

<comment><USER20> 1) The annoying "we have detected that you are using an adblocker" pop ups go away.

2) You get nice graphs. This is surprisingly addictive. I'm just trying to feed it into Grafana now, to make one dashboard to rule them all.

3) You can block other stuff easily, which is handy for sites you don't want visited accidentally (which is also possible in my adblocker).

4) Removes DHCP and DNS from the crappy ISP router.

5) It's on a Pi and as mentioned elsewhere here, that somehow makes a chore into something fun.

<comment><USER18> Thanks, some good points there - though I'll claim 5 as my own! I can feel a bout of Pi play nearing.

</comment></comment></comment></comment></comment><comment><USER21> What I'm still missing is something which could detect and remove native advertising. I'm paying $10 to youtube every month specifically to get rid of ads, but then basically every content creator has native advertising baked in which youtube doesn't remove. It would be great if the creators needed to mark the start and end of native ads so that youtube could just jump over them for me.

</comment><comment><USER22> If your home router is a pfSense device, you can do this in-router, by installing pfBlockerNG. No Pi necessary.

<comment><USER23> Have recommended model?

<comment><USER22> I installed it on a PC Engines APU2.

<comment><USER24> I really like their hardware. Recently upgraded it to a wireless AP and it's the best AP I ever had, including Google's OnHub

</comment></comment></comment></comment><comment><USER25> Honest question - with such an emphasis and desire for security in the home network, how is the Alexa justified?

<comment><USER26> "I implemented ad blocking and privacy measure in my home network and then undid my efforts by installing commercial spyware inside my network"

</comment></comment><comment><USER27> Any pointers on a good "low risk" pi-hole list that trades off maintenance effort versus blocking? I'm OK if it doesn't block everything - just want it to run in the background with zero effort.

<comment><USER28> The default ones feel that way to me. I use a Pi-hole equivalent plus a client side adblocker (uBlock Origin), request/domain blacklist manager (uMatrix), and JavaScript blocker (NoScript) on Firefox. The Pi-hole-like-thing needs to be disabled or something needs to be whitelisted at most once every couple months.

I have to enable JS or third-party content much more often than that, but the trade off to protect my privacy is worth it.

<comment><USER29> Why do you use both NoScript and uMatrix? It was my understanding that uMatrix would block JS, but thinking about it now maybe it doesn't block JS embedded in HTML? Is that the idea?

<comment><USER30> Both uBlock Origin and uMatrix are able to prevent execution of inline JavaScript.

</comment></comment></comment></comment><comment><USER31> Worth exploring DNSCryptProxy as an alternative, too.

In addition to acting like pi hole and blocking certain hostnames, it allows you to encrypt your DNS lookups for anything forwarded to DoH or DNS Crypt supported services.

<comment><USER32> Pi-hole supports dnscrypt-proxy. You can set them both up on the same Pi but listening on different ports, then tell Pi-hole to use dnscrypt-proxy on localhost as its DNS provider.

</comment></comment><comment><USER33> I setup a rpi+pihole a month ago after reading an HN post, and I was amazed at how much faster most browsing was (especially on phones).

I've only had a couple of things that didn't work because of the pihole, and honestly I found it faster to just make a phone be a 4g hotspot, connect my computer to that hotspot, get past the "hump", then switch back to my home network. It's not ideal, but it doesn't happen often.

<comment><USER34> Pro-tip for an easier work-around the next time you hit a "hump": [http://pi.hole/admin/](http://pi.hole/admin/) and use the "Disable for 30 seconds" option. :)

<comment><USER35> Even easier, you can create a bookmark in your web browser to disable it for a specific amount of time.

[https://www.reddit.com/r/pihole/comments/81z8jp/temporarily_...](https://www.reddit.com/r/pihole/comments/81z8jp/temporarily_disable_pihole_using_a_bookmarked_url/)

</comment></comment></comment><comment><USER36> So genuine question, with PiHole how do you temporarily disable it for one website/app?

With browser-based tools it is super easy to turn these things off when it breaks things (e.g. flight booking sites often fail miserably with an ad/tracker blocker I've found). If you come across a website that breaks with PiHole do you have to change your DNS settings to get around it?

<comment><USER37> You can login to the Pi-hole Admin Console and choose to disable the blocking functionality. Either permanently until reactivation or for a defined timespan (10 or 30 seconds, 5 minutes, user-defined span).

But you can't disable it on a per website base as it's working on DNS level.

<comment><USER38> It is often pretty easy to look at the blocked domains log and spot what might need whitelisting, which is a single click away.

</comment></comment></comment><comment><USER39> What's the speed cap, though? Doesn't it turn whatever your connection speed is into "only as much as the pi can do"?

<comment><USER40> I've never used it myself (so all this is theoretical), but it appears that the only traffic you route through it is DNS.

So all your bulk data transfer (HTTP, etc.) would go at the normal speeds.

DNS itself doesn't involve a lot of work for the server to do. It's a pretty simple protocol / system that doesn't require powerful hardware. So assuming their blacklisting implementation doesn't bog things down, it should be able to serve DNS requests at the normal speeds. In some cases, it could actually speed up DNS because you'd have a local caching server which you might not otherwise have.

</comment></comment><comment><USER37> Ah, another "I managed to set up a Pi-Hole"-post. Love it. Maybe need a dozen more of those with some clickbaity titles...

</comment><comment><USER41> So I did this too. The downside is that if that pihole server goes down your entire network loses DNS access.

<comment><USER42> Do wish they'd come up with an HA strategy.

I run mine on old, low-wattage PC hardware that cost me about $30 all-in and boots in 20 seconds, so at least I'm not at the mercy of unpredictable mSD cards or an ESXi server that takes 10 minutes to start launching VMs after a power outage.

<comment><USER43> If I remember correctly, client OSes that know about multiple DNS servers will try the other if one fails, so just have two and announce both through DHCP?

<comment><USER41> I'm not positive but I believe it works by blocking the request which means an alternative route would be used and defeat the purpose.

Edit: if that's not the case I still think applications round robin also defeating the purpose.

<comment><USER43> I meant two PiHole-based servers. But a "blocked request" is an answer, and would likely not trigger a request to a different server, but I wouldn't rely on that being entirely leak-free.

<comment><USER41> I didn't think of having two. That's probably a good enough solution if you have two servers.

<comment><USER44> Pihole has 4 blocking modes: returning 0.0.0.0 or [::] for blocked A/AAAA records (this is the default), returning the pihole server's address (to provide a custom blocking page), or returning either NXDOMAIN or NODATA.

I if I recall correctly Windows, Linux, and MacOS all have the resolving behavior of only querying alternative servers if absolutely no response at all is received within some default time frame with the order of attempted servers being the order listed in the DNS configuration. I believe that this is also the behavior recommended by RFC. These methods should also result in some level of local caching as well by default if you're on Windows or MacOS, but Linux will vary by distro.

Because alternatives will only be tried if the preceding server fails it should be safe to manually add something like Cloudflare as a back up DNS server or distribute the alternative via DHCP (along with pihole or via pihole if it's also acting as DHCP).

<comment><USER42> For the most part, once a client goes through the process of selecting another DNS server it will stick with that choice until the process is triggered again. This will cause _It 's Always DNS_ memes when you've configured multiple servers which have differing views of DNS.

<comment><USER44> Oh you're right. I didn't think about the time it'd take to switch back to the "more desirable" name server or how often it checks it (or if it even does) when it's already selected another. I wonder what the differences are on OS/forwarder implementations for that.

<comment><USER42> If you want to give yourself a migraine, Microsoft has a comprehensive document[0]. DNS/AD has been the focus of my job for the last 5 years and I'm still not absolutely certain the circumstances that a given Windows client will return to the 1st candidate DNS server when there are > 2.

On Unix-y things, resolv.conf is specified to be used in the listed order[1]. Local caching resolvers will default to remembering the last successful server and treating the list as circular, so after the first DNS server has a failure it won't be tried again until each subsequent server has failed. Every time a distro has switched to having a local caching resolver by default you'll find big threads of people confused over the altered behavior[2].

And default behaviors are meant to be over-ridden, so in places where I have dnsmasq providing DNS for a network (PiHole, EdgeRouters) I set all-servers[3] so that every upstream is queried simultaneously and the fastest response wins -- an exceptionally bad configuration option when having upstreams with differing views of DNS, but for the general use case it makes the _Which public DNS is fastest_ debate moot.

[0] [https://docs.microsoft.com/en-us/previous- versions/windows/i...](https://docs.microsoft.com/en-us/previous- versions/windows/it-pro/windows-server-2008-R2-and-2008/dd197552\(v=ws.10\))

[1] [http://man7.org/linux/man- pages/man5/resolv.conf.5.html](http://man7.org/linux/man- pages/man5/resolv.conf.5.html)

[2] [https://github.com/systemd/systemd/issues/5755](https://github.com/systemd/systemd/issues/5755)

[3] [http://www.thekelleys.org.uk/dnsmasq/docs/dnsmasq- man.html](http://www.thekelleys.org.uk/dnsmasq/docs/dnsmasq-man.html)

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER45> Does using a Pi hole break any websites?

I'm curious if any websites use JS to check if the ad was successfully loaded.

<comment><USER46> I run ublock, privacy badger, and noscript in firefox in addition to my pihole. Unlike the local in browser solutions pihole will sometimes cause extremely long hangs on poorly engineered sites that are hard to distinguish from network connectivity issues (because in a sense they are intentional network connectivity issues). For example, the chrome web store hangs because google essentially requires you to allow ssl.google-analytics.com and has a multi-minute timeout set (just checked and it is 140 seconds when trying to retrieve ga.js). After a while you learn to recognize when a site is having pihole issues and you go check the log.

</comment></comment><comment><USER47> Had a spare Rpi sitting around and just set this up... it's working like a charm so far. Before this, I was feeling annoyed that even though I was subscribing and paying sites like WPo, I was still getting blocked from reading articles if an ad-blocker was on. With the Pi-hole that problem is solved, and browsing seems faster as a bonus as well.

</comment><comment><USER48> [https://github.com/StevenBlack/hosts](https://github.com/StevenBlack/hosts)

Solve all my problems with ads and also effective against social, porn and gaming addiction.

</comment><comment><USER49> You can also just change your computer or routers DNS settings as such: [https://news.ycombinator.com/item?id=18788410](https://news.ycombinator.com/item?id=18788410)

This approach has way less overhead than pihole... But now someone else knows what you're browsing.

Edit: the top comment specifies the hostname incorrectly. It should be: dns.adguard.com (not .org)

</comment><comment><USER50> I bought a raspberry pi and ran pi hole but it keeps turning off for some reason. I guess I got a faulty raspberry pi? But when it does go down all my browsing dies because no dns requests could be processed. So I went with running it in a docket container on my nas instead.

<comment><USER51> Try a different power adapter. The Pi3b+ is better than older models, but can still pull 2A at 5V.

<comment><USER39> And remember that the pi power supplies are actually 5.1V, not 5V - you can get way with 5V as long as your supply is a 3+A supply, so that at top draw, your supply isn't going to deliver a lower voltage while it tries to max out the amps.

(it's why my raspi's are all on 5V/3.5A supplies instead)

<comment><USER51> For anyone else reading this, the Amazon Echo (Dot) power supplies are among the best I've tested.

I'd also recommend a USB tester like the RuiDeng UM24, especially if you use a lot of SBCs or USB powered devices.

</comment></comment></comment></comment><comment><USER52> So what's the advantage of running the docket setup of Pi hole versus the normal Pi install?

<comment><USER53> If you already have a PC running 24x7, you don't need a separate device to run pi-hole.

<comment><USER52> Ok thanks, that makes sense. I don't leave my PCs on so I'll keep my little Pi running.

</comment></comment></comment><comment><USER54> I've found a few apps that are able to get around this. The Youtube app on my phone is still able to load ads even when I use this method, and the Hulu app on my Playstation.

Does anyone know how they're able to do this and if there is a solution?

<comment><USER55> You can't block YouTube ads by blocking DNS queries, since they are served from the YouTube domain itself. Basically, you can't block them without blocking the entire site.

<comment><USER56> How does uBlock do it then? I always assumed it did blocking based on domain.

<comment><USER57> It has access to and parses the web page and can as such do advanced pattern matching in various ways. Domain, subdirectory, file, you name it. It can also hide HTML elements known to contain ads in order to collapse the blank areas where the ads used to be.

<comment><USER58> It's not only blocks banner ads but also the ads that appear inside videos. How does it figure out the video stream is of ad? Their must be some sort of marker to separate out video stream from ad stream.

<comment><USER59> From my experience uBlock origin has a feature set/list that can do this where the more advanced uMatrix cannot. I run both and hope to not have to in future. Also run pihole for other devices where custom blocking is tricky.

</comment></comment></comment></comment></comment></comment><comment><USER60> You don't need a Raspberry Pi for this. Just install dnscrypt-proxy.

</comment><comment><USER24> Not trying to be inflammatory, but to educate myself.

"Like any other project I run everything in a Docker container, and this project should be no different"

Why? I assume they don't maintain their own image for home use

<comment><USER61> Not the same, but I run such thing inside manually crafted LXC-containers.

It helps isolation, and doesn't pollute the LXC-host itself.

When I want to remove/replace something deleting the container is guaranteed to do a 100% cleanup.

It also helps migrating apps/services across hosts/servers. Now I don't do that very often, but the few times I do, it's a godsend.

</comment></comment><comment><USER62> For some reason, the Google Play Store stops working when I try to route my DNS traffic through OvenVPN to a Pi-Hole running on my droplet. Anybody here know why?

</comment><comment><USER63> Does using this to maximum effect mean I have to change the DNS for every device on my network or is there a single change I can make to my router?

</comment><comment><USER64> I skimmed the blog and setup pi-hole at home. So far so good. I was mildly irritated at the Docker fanboy tone but that's my own bias.

</comment><comment><USER65> Why Raspberry Pi? That will be a serious bottle neck. Does he use 56Kbps modem?

<comment><USER66> Not all traffic flows through the Raspberry Pi, just DNS. DNS doesn't need much bandwidth.

</comment></comment><comment><USER67> Spammy blog.

</comment><comment><USER68> How a single rasp pi made my browsing experience terrible and slowed page loads.

I turned off my pi hole.

Personal anecdote only

<comment><USER69> You must have had something misconfigured. Loading less stuff won't slow down browsing.

</comment></comment><comment><USER70> Yet more hardware junking up the world for people who can't configure software. Got to wonder how rigorously people who install umpteen of these sorts of devices around their home maintain them.

<comment><USER71> Please share how do you configure standard android phone or smart devices (TV) phoning home.

<comment><USER28> Maybe the GP means that you can run a DNS server on your router? Most people own very locked-down consumer routers, however, so this is rarely an option.

Speaking of that, does anyone know of a router that lets you run any operating system (I was thinking OpenBSD) but with better energy usage than a full computer?

<comment><USER72> Have a look at OpenWRT

<comment><USER68> Mofirouter ships with it from factory..</comment></comment></comment></comment></comment>


Is this a smart contract blockchain language that is easy to learn? - <AUTHOR> https://kadena.io/en/#offer <comment><AUTHOR> More details here:

[https://kadena.io/wp-content/uploads/dlm_uploads/Kadena- Pact...](https://kadena.io/wp-content/uploads/dlm_uploads/Kadena-Pact-White- Paper-V1.5-_REBRAND.pdf)</comment>


A double decker smart car - <AUTHOR> http://www.liveleak.com/view?i=8b4_1231692278

<comment><USER2> I detest sites that start videos without warning. I browse by opening sometimes dozens of tabs, letting them load, then reading them at my leisure. In essence, I visit a tree of sites using the facilities (powerful machine, tabbing browser) and I get really annoyed when I can't find the two sites that, without being asked, are playing video/audio without warning.

Don't do that.

Sorry. </rant></comment>


The lockdown is no longer morally justifiable - <AUTHOR> https://edwardfeser.blogspot.com/2020/05/the-lockdown-is-no-longer-morally.html <comment><USER2> > For example, no one believes that we have a general duty to avoid driving, > or construction work, or going out of doors when one has the flu.

I don't agree with this. If you have a communicable disease, you shouldn't be in the presence of others spreading your illness.

<comment><USER3> Indeed. Most health experts would say, don't go to work and be around others when you know you're sick. The fact that many people don't have much actual choice in the matter is the real moral issue. Having to choose either go to work sick or not pay rent is the moral failing of our economy.

<comment><USER4> absolutely.

</comment></comment></comment><comment><USER4> To me a similar argument would be does a sex worker or adult film star have the right to continue working if they have HIV?

would a temperature check be sufficient to allow them to work?</comment>


Some programming principles I have been living by - <AUTHOR> Do as much as possible in one language
Do it inside a module with a clearly described interface
No modules bigger than 150 lines or so. They should read like a chapter in a book
Prune data structures as much as possible at interfaces
Code is deployed with a realtime editor
Don't break the debugger
Stick to functions and literals. If you want to use a fancy control structure, it's fine, just do it behind a function with an understandable name and a clear interface
Address the widest possible market, and use whatever backwards technology you must to make it possible
Try to keep things imperative, even if you have to reorganize your functions so it reads well. Only use declarative interfaces where you truly need meta control, like composing things that can't just be concatenated, or optimising a pipeline <comment><USER2> >> Do as much as possible in one language

>> No modules bigger than 150 lines or so. They should read like a chapter in a book

>> Code is deployed with a realtime editor

>> Address the widest possible market, and use whatever backwards technology you must to make it possible

I'm going to guess, your one language is javascript? I write Node.js too and your list is a reasonable list for "A list of Node.js programming principles".

</comment><comment><USER3> \- Don't worry about extensibility and configurability.

\- Use sane defaults.

\- Treat bad documentation as a blocking bug.

\- The tool you look for probably exists already and it's not going to get better just because you rewrite it Rust / Go / Node.

\- Abstraction should make things easier. Abstraction for the sake of abstraction is obfuscation.

<comment><USER4> Yep - premature abstraction is just as bad as premature optimisation.

</comment></comment><comment><USER4> "Listen to the system". When I'm debugging, I always being all kinds of preconceptions about possible root causes to any issue. Those preconceptions often stop me reading and understanding error messages properly. So I take a deep breath, and try to really read the error messages, and listen to what the system is telling me.

</comment><comment><USER5> On the face of it, your list seems quite reasonable. I like it. What is your one language of choice? Do you have any examples you'd share that demonstrate your principles in action?

</comment><comment><USER4> "Evenly distribute complexity". This is hard to do. As a new codebase takes shape it is hopefully well modularised. But inevitably there will be one or two modules that become knotty concentrations of complexity. The form of the code is telling you something about your analysis of the problem space.

</comment><comment><USER6> Mine (a bit shorter and less committal):

\- Try to have as little side effects as possible

\- Keep the number of data structures I use in the same project as small as I can.

</comment><comment><USER7> You must only read books with very short chapters.

</comment><comment> ely-s My guiding principle is to code something so that you only have to code it once.

</comment><comment><AUTHOR> p.s. the filesystem is declarative</comment>


Ask HN: How do I find a programming mentor? - <AUTHOR> I have just started to teach myself coding for AI/ML stuff, but I realize that there are large gaps in my understanding that I am unable to fill with online sources. I know that my code is inefficient and inelegant, but don't know exactly how to improve it. I know my knowledge of different paradigms is horrendously limited but I don't know what to learn next.
Someone who knows my learning history and will be able to just point me to resources is enough for me, I guess. I need very occasional but streamlined guidance, which is impossible to find over Reddit/ StackExchange/ HackerNews etc.
Any suggestions would be of great help. <comment><USER2> Even though a small amount of good and consistent guidance/mentorship can make a tremendous difference, a huge part of software engineering is being able to largely mentor yourself.

Where do you feel you are now, and what are you looking for, exactly?

</comment><comment><USER3> Use social networks and hang out on programming groups there.

Go to Github or Bitbucket and check out some code and ask for mentoring.</comment>


Thanksgiving Biscuits: The Secret to the South's Recipe - <AUTHOR> https://www.theatlantic.com/health/archive/2018/11/better-biscuits-south-thanksgiving/576526/ <comment><USER2> Besides the flour being too glutenous like pie crusts you don't want to overwork it. Working the dough too much will cause it to be tough. Also the butter or lard needs to be in there like pockets, not a homogeneous mixture. This is also like pie crusts. The flaky texture comes from the fat melting away into the surrounding dough leaving behind voids.

You really only want to work the ingredients with a fork or dough cutter till combined and no more.

If the overly glutenous flour is a fact of bad biscuits i wonder if adding a little rice flour could help or other gluten free flour.

sincerely,

a northerner who likes pies and biscuits</comment>


Seattle's famous wall of gum - <AUTHOR> http://holykaw.alltop.com/seattles-famous-wall-o-gum

<comment><USER2> There's one of those in San Luis Obispo too. It's as gross as you could imagine. I've heard that attempts at removing it keep occurring though.</comment>


Confessions of a Caller-ID spoofer - <AUTHOR> http://www.networkworld.com/community/node/24934 <comment><AUTHOR> Interesting article. I've used Spoofcard in the past, and it is a pretty well designed service.

</comment><comment><USER2> Don't trust the client. Nowadays, it also applies to Caller ID.</comment>


Sex With Robots Inevitable - <AUTHOR> http://www.neatorama.com/2007/10/16/love-sex-and-marriage-with-robot-inevitable-said-ai-researcher/

<comment><USER2> The other post about Linux Timeline inspired a query about robots. There seems to be no scheduled sex with robots in the 2000-2200 timeframe. [http://www.google.com/views?q=robots+view:timeline&vwms=...](http://www.google.com/views?q=robots+view:timeline&vwms=&vwme=&vws=11550&vwe=88550&sa=N&ct=tlhist)

Also, they didn't crawl the prediction well enough to map it. It is an interesting visualization though.

</comment><comment><AUTHOR> [http://farm3.static.flickr.com/2176/1763508649_857218800d_o....](http://farm3.static.flickr.com/2176/1763508649_857218800d_o.jpg)

</comment><comment><USER3> Remember the horrible consequences on FutureRama over sex with robots. Better avoid it, wait I think I hear Lucy Lu bot calling...</comment>


Clay Shirky Debunks the WSJ's "Bloggers For Hire" Feature - <AUTHOR> http://www.boingboing.net/2009/04/30/clay-shirky-debunks.html <comment><USER2> Dave Winer had an interesting take on this issue: your blog, he said, is an advertisement for yourself, so that you can more easily get work doing, well, whatever you do. Why on earth would you dilute your own advertisement by sticking on somebody else's advertisement?</comment>


Show HN: Aragon – Everything you need to run your company on Ethereum - <AUTHOR> https://aragon.one <comment><USER2> My 'cryptoequity' project was on the Hacker News front page a couple years ago ([https://news.ycombinator.com/item?id=7992667](https://news.ycombinator.com/item?id=7992667)), in which many commentators noted that many high value applications were probably illegal.

As enthusiastic as I remain about the overall premise of equity replacements issued on cryptographically secure ledgers (including Etheruem, which I started with by running the educational channel Ethercasts), I don't see anything in this presentation that indicates that the massive challenges regarding nation-state regulation have been solved.

Even were one to go on the premise that one can effectively run this in a sandbox away from standard nation-state regulation, one has the more general problem of enforceability of contracts, etc. If I hire you via a crypto- contract but then you don't deliver the associated goods, what recourse do I have?

This and related effects caused ~2 years of delays in my own implementation.

I'll note I remain optimistic and positive about all related efforts in this field.

<comment><USER3> > one has the more general problem of enforceability of contracts, etc. If I > hire you via a crypto-contract but then you don't deliver the associated > goods, what recourse do I have?

I thought the point of crypto-contracts was to make enforcement as automatic as possible...if that is not fully true, are there any neutral verifications services that can hold things in escrow?

<comment><USER4> A crypto-contract can't evaluate the work you've delivered. If we enter into some arbitrary crypto-contract for me to build you a chair in exchange for 20 currencies, and I bring you a stump I hacked out of the woods, there's no underlying system that can tell me to fuck off and that I'm not getting paid.

<comment><USER5> > there's no underlying system that can tell me to fuck off and that I'm not > getting paid.

You are right. This is why these things will not go anywhere. Ultimately they need some kind of "back up"... For example, the system we currently have flows like so: Nation state Military > Federal Police > Local Police > Physical Intimidation via face to face meeting. At every step, stop when lawyers and/or politicians get involved.

<comment><USER4> Well, you could have trusted third-party arbiters who would evaluate whether or not to release the funds on delivery of the good or service. But that brings on a whole new level of reputation-economy things you have to think about.

<comment><USER5> And how deep should that go? Pretty soon you will need arbitration for the arbiters.

Has no one addressed the basic need of a justice system with these crypto currencies?

<comment><USER6> How about some image processing/object recognition by standardized AI interfaces?

<comment><USER7> In other words, Eth and Aragon would work great, as soon as someone figures out how to build a strong AI that can arbitrate and enforce contracts?

We already have an inscrutable, unaccountable, super-intelligent system that can do that - the courts, the police...

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> This is Jorge, Tech Lead at Aragon, a platform for creating companies on top of the Ethereum blockchain (DACs). Here is our launch post and mission statement: [https://medium.com/aragondec/introducing-aragon- unstoppable-...](https://medium.com/aragondec/introducing-aragon-unstoppable- companies-58c1fd2d00ce#.i4z2dku09)

We are still early, but we are now in Alpha stage. We have published a small sneak peek of what we are building on aragon.one so you can try out how managing an Aragon company will be like.

Our ambition is for Aragon to be the backbone of a new generation of companies that will thrive in the new decentralized economy. We have focused on building a modular system, in the frontend and in the smart contracts, so modified versions for specific company types/industries could be build (pe. Aragon for Hedgefunds, Aragon for Non-Profits or Aragon for Open Source projects).

Aragon is a fully decentralized app that only needs having a connection to a Ethereum node in order for the core functionallity to work. We will be packaging it and distributing in a Electron binary for ease of use with non- iniciated users. We have integrated Metamask in Electron, so the app can be standalone (more on this soon).

Even though every screenshot in the website and the demo is live code running against the EVM (via TestRPC) and the alpha is working, we are not open sourcing the contracts for a couple of weeks (some cleaning and refactoring needs to be done before they are ready to be public). All the frontend code will be open source too, but we don't have a specific timeline for this. We are open source first and open source only, our core technology needs to be open source so it can be under the scrutiny needed for Aragon to be a secure technology.

<comment><USER9> What language are the contracts written in? Do you have a specification of that language?

EDIT: Nevermind, I see in an another comment that you're using Solidity. Thanks for the answer!

Now I have a new question. What do you think about the claim that, "Solidity, while being an interesting proof of concept, is dangerously under-contained and very difficult to analyze statically." ([http://www.stephendiehl.com/posts/smart_contracts.html](http://www.stephendiehl.com/posts/smart_contracts.html))

<comment><USER10> Disclaimer: I write and audit Solidity for a living.

The max-callstack issue isn't a problem anymore due to a change in the EVM.

TheDAO was hit with a reentrant call. It's pretty easy to avoid that class of bugs by either (1) putting any external calls (including ether transfers) after all state changes, or (2) using address.send instead of address.call.value. Also, TheDAO was a very convoluted contract; better coding practices help a lot. Any contract that's at all hard to understand is a huge red flag for me.

Solidity may not be a perfect language but it's rapidly improving, statically typed, and has a set of best practices which are fairly well known at this point. The current alternatives aren't nearly as well tested or reviewed, and don't have clear advantages anyway.

There are various experimental projects for more advanced functional-style languages but they're not ready yet. There's also someone at the Foundation working full-time on formal proof systems.

<comment><USER5> Are you paid in Eth or some other form of currency?

<comment><USER10> I'm paid a salary in fiat but the company I work for prefers payment in ETH, with Bitcoin its second choice, and our clients are generally happy with that.

</comment></comment></comment></comment></comment><comment><USER11> I think Ethereum undermined their whole reason for existence when they did a fork in response to a valid contract because enough people did not like the results.

The fact that they called it a hack when it explicitly followed the Ethereum guidelines calls into doubt the sincerity of the people behind Ethereum.

[http://www.coindesk.com/understanding-dao-hack- journalists/](http://www.coindesk.com/understanding-dao-hack-journalists/)

If people want to actually have malleable contracts in the case of fraud, the courts provide a much more accountable process that has had centuries of fine tuning.

<comment><USER12> This is why ethereum classic exists, but it's also shown that smart contacts are generally unreliable.

Random plug for non Turing complete smart contact systems like Decred.

(I don't own any decred, nor am I part of the team, I just idle in IRC.)

</comment></comment><comment><USER13> Is [https://aragon.one](https://aragon.one) itself using Aragon? If not, why?

<comment><USER14> Peculiar how author dodges this question, the answer is presumably no.

It's so disruptive even the creators choose to use the old "outdated" way it claims to be solving.

If you don't eat your own dog food it means you don't have confidence in it. So why push the garbage on to somebody else who will take all the risks?

How the heck does this make frontpage?

<comment><USER15> The current product is only considered by the creators to be alpha. They don't expect anyone else to found their business on it, and they aren't yet making their business rely on it.

Even if it does become more stable in the future, they haven't made the case that this is well suited for all businesses. It is designed to enable cooperation between stakeholders; a company with one major stakeholder has little need for it.

</comment></comment></comment><comment><USER16> Is there a way to pay for domain, DNS, and hosting costs with Ethereum? If so, one could build a wide-range of SaaS products that accept payment in Ethereum, and would be free of taxation and government regulation. While the SEC understandably exists to prevent defrauding of investors, this dashboard gives an investor perfect clarity into a company's financial strength and liabilities, and allows for an informed decision to be made without any official paperwork.

What would be really interesting is if some day you could buy a self-driving car with Ethereum. With an Uber-like app that accepts payment in Ethereum, and blockchain investments to rapidly scale the business up and reinvest profits, one could see a self-driving car company dominate the market in a far shorter time than it took Uber to do so.

It's even possible that some day we see a unicorn startup with a solo developer.

<comment> aaron-lebo Namecoin exists, but governments are never gonna just be like "hey, don't pay taxes, no problem".

 _What would be really interesting is if some day you could buy a self-driving car with Ethereum. With an Uber-like app that accepts payment in Ethereum, and blockchain investments to rapidly scale the business up and reinvest profits, one could see a self-driving car company dominate the market in a far shorter time than it took Uber to do so._

Why can't a regular company do that? Blockchian payments are really the very least of your problems if you are trying to create a profitable self-driving car company.

What benefit does it offer other than being cool?

<comment><USER17> Yeah but what if a DAO doesn't have a physical office that can be shut down? It's very difficult to stop the spread of something people want to use, and will only become more so.

<comment><USER18> The DAO didn't need a physical office for it to be 'hacked' and drained.

And a car sharing scheme would need physical cars, making it pretty easy to take down the system or haul the car owners to court if the service is breaking laws.

<comment><USER17> Prototypes fail but clearly people haven't given up on the basic crypto/blockchain idea. A product or service that reliably delivers value (even if imperfectly) will hang around. Look at the draconian penalties for dealing cocaine, or the fairly draconian social sanctions of being caught in possession of it, and yet the trade thrives despite decades of aggressive interdiction. It's going to be politically much more difficult to indict someone for running a gardening or vehicle rental service than a drug kingpin; it's _possible_ of course, but I don't remember a whole lot of public outrage over Kim Dotcom's supposedly nefarious activities.

<comment><USER7> Cocaine thrives because it is easy to conceal, easy to manufacture, has sky- high profit margins, no legal competition, and because you get paid in untraceable, unrecordable, launderable cash.

Stopping crypto-mixing is much easier then stopping money laundering.

<comment><USER17> I'm sure it looks that way from the outside.

</comment></comment></comment></comment></comment></comment></comment><comment><USER19> I can understand the disbelief over the "maximalist" approach that suggests that regulations, government intervention, taxes, etc. will be circumvented by decentralized companies running on blockchains. Yet I believe that this efforts should be encouraged as they are exploring the kind of wild, uncharted territory in which the most exciting innovations can unexpectedly arise.

I also believe that some of the tools these guys are building can be very useful for conventional companies too. There's a whole lot of bureaucracy and inefficiency in running a company.

See eShares and his elegant and simple solution for cap management. I believe there are many other areas in which similar improvements can be made, and software needed to run a blockchain company could also be used to improve procedures at conventional companies.

</comment><comment><USER20> So what happens when someone finds a flaw in the contract and empties you out?

<comment><USER21> Evidently, you hard fork the chain.

Ethereum proved that automated systems that serve human needs will eventually incur human intervention.

<comment><USER8> "automated systems that serve human needs will eventually incur human intervention" this is just wrong.

The world is moving towards more automated systems, the fact that there was one mistake at a given point in time doesn't mean anything.

By mistake I mean putting so much money on an unproved experiment.

<comment><USER14> so if your account gets emptied by hackers, it's justified because this is just how decentralization works? Who is claiming this is "how the world works now" and who asked for a solution? It seems to me Ethereum and other products built on it solves problems imagined by the creators and balk when people poke holes at it, without responding with a modicum of rationality but a lot of self fulfilling prophecy.

Why would anyone expose themselves to more risks by using Aragon?

Why decentralize and create more problems when _everybody has been using centralized systems without issues over the past few centuries_?

What problem is it that you are solving with Aragon? I don't see one.

Better yet, are you running Aragon to run your company? This question has come up multiple times in the comments with no response. It's pretty telling.

<comment><USER22> Oh yeah, the number of questions in this thread without answers should tell you everything you need to know about Aragon.

Any founder with a legit business who shows his project to Hacker News and gets ~40 some odd people to comment on it would almost certainly want to keep up that conversation.

</comment></comment></comment></comment></comment><comment><USER23> "It may take a while to load – beware of the bugs and glitches. Chrome-only for now"

Says so much with so little.

</comment><comment><USER24> I don't get the "shareholder" scenario. How can this work with any legal and/or financial/banking regulations?

<comment><USER25> Or the "Adding a new employee to your payroll is as easy as creating a recurring payment" scenario. Good luck having the Spanish Social Security Institute accept the mandatory monthly payments (cotizaciones) in ETH...

<comment><USER8> Bad assumption there, Aragon companies will be able to handle tokenized fiat (USD, EUR, etc). Santander is working on a stable coin project to tokenize EUR and USD [http://www.coindesk.com/santander-vies-become-first-bank- iss...](http://www.coindesk.com/santander-vies-become-first-bank-issue- digital-cash-blockchain/)

<comment><USER5> What would the stable coin look like? I mean, we already have 700+[1] "coins." we are way passed the ridiculous stage on that front.

[1] - [https://en.wikipedia.org/wiki/List_of_cryptocurrencies](https://en.wikipedia.org/wiki/List_of_cryptocurrencies)

<comment><USER8> A stable coin is a crypto asset that is backed by a real value.

If you own 1 EthUSD, there is a warranty that someone will give you 1 USD for that token

<comment><USER18> A _real-world_ warranty, which means you can't rely on it. You might own as many EthUSD tokens as you want but you can never be sure that someone will buy them from you at the 'fixed' price.

</comment></comment></comment></comment></comment></comment><comment><USER26> I know this is old news, but I still have to say this:

So if someone installs malware on your laptop, they get to own your shares forever? Living dangerously, man!

<comment><USER8> That's why the needed security measures need to be in place.

Using a hardware wallet like Ledger rules that scenario out.

<comment><USER5> Until is gets stolen and you can't prove you own anything, or?

<comment><USER8> Exactly.

<comment><USER14> So if Facebook ran on Aragon, and the shares got hijacked, tough shit? Zuckerberg can't prove himself? Some guy in Yekaterinburg is the new CEO?

<comment><USER7> If history is any indication, you collude with the miners and hard-fork.

They have incentive to do that, because their work becomes worthless if ETH were to lose value because that kind of theft would destroy user confidence in the cryptocurrency.

I think the rest of the world would call that state of affairs a 'bubble'.

</comment></comment></comment></comment></comment></comment><comment><USER27> To repeat a comment I heard elsewhere -

Just as Bitcoin lovers are learning the hard way why we have banking regulations, so are Ethereum followers learning the hard way why we have courts.

</comment><comment><USER28> Oh dear...

</comment><comment><USER29> When I try to enter my email for the mailing list I am getting the error: invite_limit_reached

I'd like to just keep up with the project. Is this intentional or is there another way to join the mailing list?

<comment><USER8> I'm just aware that we reached the limit. Talking to Slack now to get it waived

</comment></comment><comment> dyu- Looks like they're using unmodified semantic ui[1] based from their screenshot.

1\. semantic-ui.com

</comment><comment><USER30> Coolest thing I've seen today, if only because my last name is Aragon.

</comment><comment><USER31> why does your "press" link to a public dropbox folder for branding material? this is all so amateur

</comment><comment><USER17> invite_limit_reached when I try to sign up :-/</comment>


Tim Bray on Music and Money - <AUTHOR> http://www.tbray.org/ongoing/When/200x/2009/08/23/On-Music <comment><USER2> Funny how people who have no involvement whatsoever in the music business seem to know all about it and how to fix it. Take a look at Led Zeppelin. In 1969 they recorded LZI on their own dollar, signed a great record deal and always owned all their music. What is it that has prevented everyone since then from following that model ? "Information wants to be free" Information has wants ? LOL</comment>


Kleiner Perkins seeks legal fees or dropped case from Ellen Pao - <AUTHOR> http://www.nytimes.com/2015/04/24/technology/kleiner-perkins-seeks-nearly-1-million-from-ellen-pao.html?module=WatchingPortal&region=c-column-middle-span-region&pgType=Homepage&action=click&mediaId=thumb_square&state=standard&contentPlacement=1&version=internal&contentCollection=www.nytimes.com&contentId=http%3A%2F%2Fwww.nytimes.com%2F2015%2F04%2F24%2Ftechnology%2Fkleiner-perkins-seeks-nearly-1-million-from-ellen-pao.html&eventName=Watching-article-click <comment><USER2> _Other court filings revealed that last November, Kleiner had offered Ms. Pao $964,502 to settle, an amount based on the projected costs of the case._

That she didn't accept the settlement says a lot for her belief in the case (or, at the very least, her odds of winning).

<comment><USER3> It's hard to tell whether her position was more financial gambling or principle (that is, who knows).

She sought $16 million -

[http://www.mercurynews.com/business/ci_27444497/ellen-pao- se...](http://www.mercurynews.com/business/ci_27444497/ellen-pao- seeking-16-million-sex-discrimination-lawsuit)

She clearly believed monetary compensation was important as part of the case. So then the question becomes, what % of a likelihood of victory would you need to believe in, to go after $16m vs $964k. Or alternatively, perhaps $964k is such a (relatively) modest sum for the context, that it simply wasn't a consideration for her. She can probably earn more than that writing a book about the ordeal.

<comment><USER4> She was seeking $16M in lost wages, and potentially much more in punitive damages. I think, had she won, she could be looking at a ridiculous check close to $100M.

<comment><USER3> Correct, the punitive damages aspect was immense:

"Ellen Pao can sue Kleiner Perkins for up to $160 million in damages"

[http://www.businessinsider.com/ellen-pao-can-sue-kleiner- per...](http://www.businessinsider.com/ellen-pao-can-sue-kleiner-perkins-for- damages-2015-3)

[http://www.mercurynews.com/business/ci_27760383/judge- ellen-...](http://www.mercurynews.com/business/ci_27760383/judge-ellen-pao- may-claim-punitive-damages-kleiner)

<comment><USER5> You always ask for the moon when you sue someone - it doesn't cost anything to keep adding zeros. I doubt she believed she'd actually get something like that, though. If she did she's a fool.

</comment></comment></comment></comment></comment><comment><USER6> I don't understand all the defending of Pao on HN. She was pretty clearly in the wrong and there is not much evidence to the contrary. It's counter- productive to the cause of gender equality to continue to defend her.

<comment><USER7> what is your deal?

<comment><USER6> I'm afraid I don't understand what it is you're asking. If you could clarify I'd be glad to go into the details of my "deal".

<comment><USER7> The deal being what is the point of posting 2 top level comments with the exact same content and intent. Asking not to get downvoted unless people provide evidence, and you not providing any evidence for starters.

<comment><USER6> Look very closely at the usernames. We are not the same person, just similar usernames (the other one has two 'v's). Not associated with the other poster at all, it's just a coincidence. I also don't think it's the "exact same content".

</comment></comment></comment></comment></comment><comment><USER8> > "If Kleiner wanted to look classy, it could have said, 'This was hard fought > and we obviously disagree with your view, but it's in the interest of all > parties to walk away. In the meantime, there have been lessons learned and > we are going to fund organizations that focus on glass ceiling issues,' " > Ms. Katz said.

Here in non-fantasy land, why would anyone do as Ms. Katz suggests?

<comment><USER9> You quoted the reason -- looking/being classy. If you value that more than a million dollars, and a good many do, and you felt said action would have that effect, you might choose to do it.

</comment></comment><comment><USER10> >"If Kleiner wanted to look classy, it could have said, 'This was hard fought and we obviously disagree with your view, but it's in the interest of all parties to walk away. In the meantime, there have been lessons learned and we are going to fund organizations that focus on glass ceiling issues,' " Ms. Katz said.

Just donate to my rainbow coalition...

<comment><USER11> What they actually said was "Promise not to pursue this case any further or pay us $1 million."

<comment><USER10> Yep! And I quoted the article's quote from a critic.

I felt it was worth pointing out one of the most patently ridiculous things I've ever heard, and the fact that it was given play really tells you how the NYT leans.

<comment><USER11> It's a mistake to think of the NYT as a monolithic entity that deliberately leans one way or another. I've got a few friends who work there, and they all report that "the" Times is actually about five distinct fiefdoms engaged in a constant battle with one another. It's a real shark tank, politically speaking, and not the kind of place with the sort of absolutist, top-down structure (like, say, Bloomberg) that's conducive to straight party lines.

That said, it was a bullshit link-bait headline buy hey, traffic, right?

</comment></comment></comment></comment><comment><USER12> Revenge: a dish best not served at all.

<comment><USER13> Wouldn't she owe $0 if she doesn't appeal?

<comment><USER14> But she could get $100M if she appeals and wins. Paging Mr. Pascal...

</comment></comment></comment><comment><USER15> I think it's important that a precedent is set. Pao was being marginally more creative than patent trolls. The legal system needs to demonstrate that making a joke of discrimination, from _both_ sides of the coin (by participating in it, or by crying wolf), will _not_ be tolerated.

There are millions of people facing real discrimination issues and Pao made a joke of them all by trying to turn their struggle into her profit.

<comment><USER16> It's also important to note that being unable to prove your case in court is not the same thing as crying wolf. You make a frivolous lawsuit, you get punished, yes. But I have not heard arguments to support the idea that Pao made the claim in bad faith, or negligently.

<comment><USER15> Legally: yes.

However, the deluge of evidence contradicting discrimination was loud and clear. From a logical (not legal) standpoint you would have to be incredibly stupid to not notice that other women are getting ahead in your company, and Pao isn't stupid.

Smaller companies cannot defend themselves against patent trolls. What's to stop Pao would-bes from taking advantage of that fact too? How would that affect the female position in the job market?

It seems reasonable that you don't drag someone through a $900000 lawsuit on a weak hunch. This "discovery" bullshit is exactly how patent trolls get away with what they do.

In ethical wars there are some battles you don't want to win, and some that should never even take place. Everyone sits on a distinct side of the fence and when they see blood they go for it, it's pathetic and ultimately weakens their position. It's about reaching a compromise and $900000 is not a compromise. Kleiner is being the bigger person here and suggesting that everyone walk away from this, yes it does have PR implication for them, but it is ultimately the right thing to do.

<comment><USER16> > From a logical (not legal) standpoint you would have to be incredibly stupid > to not notice that other women are getting ahead in your company, and Pao > isn't stupid.

I don't see any deluge of women getting ahead at Kleiner Perkins. In fact, it does seem like an overwhelmingly male environment.

> Smaller companies cannot defend themselves against patent trolls. What's to > stop Pao would-bes from taking advantage of that fact too? How would that > affect the female position in the job market?

Patent trolls use the threat of costly litigation to pressure smaller companies into settlement. Pao's suit was costly on both sides, but she was not trying to pressure them into settling. First of all, they did offer a $1M settlement, and she pursued the case anyway. This is at least strong evidence that she thought that she would prevail in court. Secondly, there was no risk that Kleiner Perkins would go bankrupt from the costs of litigation. They're a _venture capital_ firm, for crying out loud, they have lots of capital.

I'm not saying that it's okay to sue Kleiner Perkins because they have deep pockets, I'm saying that she's not using the threat of bankruptcy to coerce a settlement out of them.

> It seems reasonable that you don't drag someone through a $900000 lawsuit on > a weak hunch. This "discovery" bullshit is exactly how patent trolls get > away with what they do.

Patent trolls, again, rely on the fact that expensive discovery proceedings can bankrupt a company before they are able to successfully defend a patent lawsuit. As we've established, that was not an issue here. Discovery serves a useful legal purpose: you need evidence to pursue a case, and without legal force behind a request for evidence, Kleiner Perkins would have no reason to provide it. You can't issue subpoenas without filing the suit first, because you need to show that your suit has merit and that you have standing before you can begin discovery. Now, there have been actual abuses of the discovery process. This just isn't one of them.

Pao lost, so she compensates Kleiner Perkins for their expenses, or she accepts their offer. I don't see why "being wrong in court" would be worthy of punishment.

<comment><USER15> > They're a venture capital firm, for crying out loud, they have lots of > capital.

I thought this hand-to-mouth mentality was something that was exclusive to the 3rd world. Apparently I was wrong. People smell blood and attack. This is not about KPMG. Have "big" corporates like Microsoft, Apple, Samsung and Google ever had problems fending off patent trolls? No.

The "crying wolf" story goes a lot further than the mere once-off act of laying false claim: which is why I specifically use that phrase. You might read the story and find out what happens to the boy who cried "wolf."

Everyone is determined to win every fight, instead of actually reaching a goal. Feminism is going nowhere at this rate.

> I don't see why "being wrong in court" would be worthy of punishment.

We're done here. Was that ever a suggestion of mine?

<comment><USER16> Please read the next paragraph.

> I'm not saying that it's okay to sue Kleiner Perkins because they have deep > pockets, I'm saying that she's not using the threat of bankruptcy to coerce > a settlement out of them.

<comment><USER15> My argument does not even concern Pao, my argument concern the bigger scheme of things and this Pao trial as one single battle. This specific battle should have never happened, but it did, and feminists (who Pao _claims_ to be fighting for) need to disown this farce as fast as possible.

That paragraph is relevant to defending Pao's virtue: which I have no interest in and was never talking about. I have no opinion of the woman one way or another, an opinion of her is completely irrelevant because neither of us is likely to ever meet her. It is clear that this isn't a debate about something important and, therefore, _we 're done._

<comment><USER16> The easiest way to end a conversation is not to say, "we're done", bot to simply not say anything.

It was my understanding that you were talking about Pao because you made specific claims about her case (that she was "crying wolf", in your terms) and I was interested in seeing how you would support that position, because I hadn't heard arguments that she had sued in bad faith and was interested in listening to those arguments if they existed.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER17> I think the title is a bit misleading. Kleiner Perkins is asking Ellen to pay for its legal fees or simply " if she forgoes any appeal and lets the case die, the firm will forgive and forget, or at least move on."

<comment><USER18> Yes the NYT title is a bit off. Pao was always on the hook for those fees, and KP is offering to waive them if she doesn't appeal. Note that KP already filed a separate countersuit, which brought Pao's husband to the attention of the media, before the main case began. WSJ also says Pao is not outright rejecting the legal fees deal:

[http://www.wsj.com/articles/BL-DGB-41461](http://www.wsj.com/articles/BL- DGB-41461)

</comment></comment><comment><USER19> Good for Kleiner. It seems their reputation was being dragged through the mud on a merit-less case of "she said they said". No factual evidence was presented justifying Pao's viewpoints.

Before you downvote, please provide factual evidence and I will gladly update this comment.

<comment><USER20> There were performance reviews that said she did well, they were mixed and complicated like all performance reviews. Also given that the defense tried to discredit her by noting that she sent e-mails to herself it seems strange to call "she said they said" invalid evidence since without those e-mails there would be nothing at all.

What would hard evidence even be for this type of case? Is there going to be an e-mail between partners saying "we should not promote Ellen because she's a woman"?

Did Ellen Pao prove her case conclusively? I think not. Was it clear that there were plenty of issues going on at the time that Kleiner could've handled a lot better? I think so.

<comment><USER19> Even perfect performance reviews doesn't entitle one to be promoted. Why does everyone have this idea in their head, that if they cross all the t's and dot all the i's the world is going to reward them?

Are we really going to start to sue over disillusionment?

<comment><USER21> When a woman who has perfect reviews is passed over for a promotion by a man who doesn't... ya, they have some room to be pissed off and gripe.

And yes, if you do everything your employer asks of you and then some, you should be rewarded. What is this world coming to when doing so is considered "average"?

<comment><USER22> Playing devil's advocate, being perfect at position X doesn't necessarily mean you'll be a good fit at position Y, and being less than perfect at position X doesn't mean you _won 't_ be a perfect fit in position Y.

<comment><USER23> Right. Remember Peter's Principle:

Selection of a candidate for a position is based on the candidate's performance in their current role rather than on abilities relevant to the intended role. Thus, employees only stop being promoted once they can no longer perform effectively, and "managers rise to the level of their incompetence."

</comment></comment></comment></comment></comment></comment><comment><USER24> So Kleiner spent $972,815 on their defense. That is absurd amount of money, and I am sure Ellen Pao did not have those kind of funds. That also made it hard for her to win this case

<comment><USER25> The fact that she was clearly in the wrong also made it a hard case for Pao to win.

<comment><USER26> Checks out -- lit up red on my Clearly-in-the-wrong-o-meter</comment></comment></comment>


3rd world product development? - <AUTHOR>

Is there anyone here working with 3rd world product development? Energy, water, simple mechanical devices, other basic needs?<p>I want to get into it but I'm not sure what to study, Elec. eng., mech. eng., etc. <comment><USER2> Yes, I know someone who is working on an energy (renewables) idea. I think that may be one of the most interesting areas to look at.

<comment><AUTHOR> But I'm thinking on something small scale, not that needs serious $$$$.

<comment><USER2> Take a look at waste energy. That doesn't require anything like the startup costs that solar/wind/water requires.</comment></comment></comment>


Mathcamp 2009 Qualifying Quiz - <AUTHOR> http://www.mathcamp.org/quiz/quiz09.php

<comment><USER2> Here's some hints. Don't read if you don't want spoilers!

1\. Forget the "continuous" and break it into half-hour units.

2\. Consider what color is the integer a = 7x + 11y. Imagine coloring an infinite 2d grid where each lattice point (x, y) is labeled with 7x + 11y.

3\. Let S(n, k) be the number of size-k subsets of [1..n] that contain k.

4\. Ask yourself the same question but restrict yourself to only adding powers of 2.

5\. Write out the formula for, if a and b are two sides of a triangle, what's the minimum and maximum that the third side can be.

6\. Kind of an ugly one. Try writing out the answers for the first few dozen numbers and looking for the patterns. Look at the binary representations.

7\. "product" is just a tricky way of obscuring what's going on here. A simpler sequence that obeys this is element n = the log of the nth Fibonacci number. Then you have to know about generating functions or perhaps just Lucas numbers plus cleverness.

8\. "10" is relevant because it's (18 / 2) + 1. Try first solving the easier problem where all the lines are restricted to being either vertical or horizontal.

<comment><USER3> Why is 6 "ugly"? Each number k for which the player playing at that point will win leads to 2k being a loss, meaning that 2k + 1 is a win. Whereas if k is a loss, then both 2k and 2k + 1 are wins. So part a) is really easy, because we can just repeatedly halve the numbers to figure out what the values should be, and part b) is also easy, because our proportion of wins to losses in the limit is described by a simple markov chain.

[edit: another minute's thought... actually, the obvious implication of the above is that every odd number is a win, and therefore losses are only those numbers with odd numbers of 2s in their prime factorizations]

In any case, I don't see why these questions belong on Hacker News. They're the sort of fun puzzles that make for a good high school math camp quiz (a clever high school student should figure most of them out in an afternoon), but none of them contains any deeper insight or relevance, as far as I can tell.

<comment><AUTHOR> My friend's son is an aspiring MathCamper so I thought I'd post the type of questions they use to winnow the applicants, in case anyone was curious and/or wanted to exercise their proof muscles.</comment></comment></comment>


Why Chance Encounters Work - <AUTHOR> http://www.growdetroit.com/why-chance-encounters-work/

<comment><USER2> As I mentioned in the posts comments, one thing the valley has that many cities don't is a completely different perspective on failure. In the valley, if you don't have a successful exit on your startup, no one jumps on you in a bad way. Everyone understands the challenge and knows you learned from it. First thing people say are, "So, what's next?".

This allows people to try things more and take risk. Something that our Michigan and Detroit culture don't have built into our makeup. It's definitely changing and sites like GrowDetroit and their community are making big strides in changing this mentality.

<comment><USER3> This 10000000%

I just got interviewed in the State News and the reporter kept asking me these same questions about getting over failure. I told her I have never failed, not even one time. from my beef jerky enterprise in high school all through college, I just made adjustments.

I gave her an anecdote about selling pink and yellow lemonade, and if i was selling way more pink than yellow, yellow lemonade didnt 'fail' my feelings wernt hurt, it wasnt a personal feat that made me rise up above it. I just adjust.

She didnt really like the answer so asked me again, and none of it made it in the paper.

<comment><AUTHOR> you are a warrior, hustler and have the 'can do' attitude towards business. big ups

</comment></comment></comment><comment><USER4> I marvel at Silicon Valley everytime I visit. Here we're a tiny minority and in SV its like visiting the company town. I imagine that's what it must be for a Hungarian car manufacturer to visit Detroit.

I think we have to work hard in Michigan to encourage chance encounters. How do we do that? Pick a single place at a set time to meet every week. Make it within walking distance of a university. Do it for each Michigan city with startup activity.

Do you have a Michigan startup? In Lansing all the user groups are having a DemoCamp at the Michigan Historical Museum on Dec 15. Sign up to speak here:

<https://adobeformscentral.com/?f=OQitLN6urkwqMVB8csMG4A>

</comment><comment><USER5> It's not only rough doing a startup in Detroit, it's hard to find good people in Detroit, specifically designers and developers that have done "web" stuff before or are even interested in it. You have a lot of people who have worked for the big 3 or GE, but not too many who have picked up "newer" technologies and methodologies that a startup would use.

<comment><USER6> The question is: are they not here at all, or are they disconnected by virtue of the lack of a community element. I find the former hard to believe -- some of the biggest tech innovators in the US have come out of the state.

With regard to the latter, that's one fight we're making our own, in the hopes that our combined efforts can foster a more united scene here in MI.

<comment><AUTHOR> they definitely are here - just very fragmented</comment></comment></comment>


WRT3200ACM – Any Fail Safe, or Dual Boot Options? - <AUTHOR> https://community.linksys.com/t5/Wireless-Routers/WRT3200ACM-Any-Fail-Safe-or-Dual-Boot-Options/td-p/1129106 <comment><AUTHOR>
      03-26-2017 05:12 AM

If you have a different firmware in the router's alternate image location you can manually switch to it by turning the router on and off three times in a row right when the LAN LED starts blinking.

If you like to use 3rd party firmware on you router this is a failsafe function in case you do something your router cant handle. the problem is the power to the router can be interrupted at a number of points such as the wallwart plug, the ciruit breaker at the main fuse panel, faults or brownouts on the utility side of things.

I had this sort of thing happen often just out of accident, when the power fails it often cycles in and out until blackout. this is enough to put it into an alternate partition, and its a PITA when it happens so i use a UPS to plug into, and problem solved.

      https://forum.archive.openwrt.org/viewtopic.php?id=50173&p=10

1\. Reset the router by holding the reset button in until the PWR light starts to flash {mine takes about 15 sec's} 2\. Once the power light stops flashing, you can power off the router with the power switch.

3\. Turn the power back on and the PWR light will light. As soon as any other light turns on, power off the router with the power switch. 4\. Turn the power back on and the PWR light will light. As soon as any other light turns on, power off the router with the power switch. 5\. Turn the power back on and the PWR light will light. As soon as any other light turns on, power off the router with the power switch.

6\. Turn the power back on and the PWR light will light. This time just let the router power all the way up. It should now be on the alternate firmware.

Yes, you will power off three times. Hope this works for you-all...

this procedure was posted in 2014, and we have here in this submission, the same sort of proceedure, so this at this point has been the case since at least 2014.

this is one brand name of router but any product that reverts firmware or OS in this way ["counting boot failures"] will do some unexpected things

Here is a good place other than openWRT to browse if you really want to get into the sport.

[https://www.linksys.com/us/support- article?articleNum=164513](https://www.linksys.com/us/support- article?articleNum=164513)</comment>


Caps Lock? No Thanks - <AUTHOR> http://matt.coneybeare.me/caps-lock-no-thanks/ <comment><USER2> nice, thanks!

it's too bad that it's not possible to change the behavior from 'caps lock' to simply imitate the shift key.</comment>


Law of Demeter and immutability - <AUTHOR> http://enterprisecraftsmanship.com/2016/09/29/law-of-demeter-and-immutability/ <comment><USER2> Discussion: [https://news.ycombinator.com/item?id=12611651](https://news.ycombinator.com/item?id=12611651)</comment>


This looks rather familiar - <AUTHOR> http://www.hackerne.ws/news

<comment><USER2> <http://news.ycombinator.com/item?id=84039>

</comment><comment><USER3> Too bad the cookies don't make it across.

Yay for relative links, PG.

</comment><comment><USER4> I think they just have it pointed at the server.</comment>


N.F.L. Will Stream Thursday Games on Twitter - <AUTHOR> http://www.nytimes.com/2016/04/06/sports/football/nfl-will-stream-thursday-games-on-twitter.html <comment><AUTHOR> what is the experience of this on twitter though? You scroll thru timeline til you see the stream, and it keeps restarting as you scroll around? Or you pin it somehow? Fixed tweet on a fluid platform is weird

<comment><AUTHOR> oh, unless it's all via Periscope (owned by Twitter)</comment></comment>


The Fallacy of the Re-write - <AUTHOR> http://paul.oremland.net/2014/10/the-fallacy-of-re-write.html

<comment><USER2> You missed a few important reasons. Your architecture is out of date and getting more so, was built from scratch without off-the-shelf support where it could have been used, no one there knows how it is supposed to work anymore, and you'd have to hire specialized programmers to upgrade it or even maintain it.</comment>


Rot8000 – Rot13 for the Unicode generation - <AUTHOR> http://rot8000.com

<comment><USER2> It's broken.

Λ̊1 → ⊻∪ά → Λ̊⋌

𝄞 → 뤔뷾 → 駴點

Edit: anyway, even with correct (a+b)%n it's plain bad idea.

Unicode is not English alphabet. Everything not in basic multilingual plane is broken automatically. And even in BMP there's going to be bag of glitches starting from hanging combining characters and ending to 'oops someone normalised our string and it's now different' (for site, not for user / Unicode).

<comment><USER3> Pretty sure it's meant as a joke

<comment><AUTHOR> It is meant as a joke -- but also planning to fix these issues ... apparently this was the right place to bring it to find all the situations where it doesn't work correctly :)

<comment><USER4> Rather than rotating through the entire BMP, I would suggest instead using Unicode's localized collations, and just rotating every character that's part of a fully-orderable "alphabet" set through that set according to those orders. (This means, for example, rotating Japanese hiragana, but not kanji.)

</comment></comment></comment></comment><comment><USER5> Inputting "こんにちは。元気ですか?" caused an application error:

        [ArgumentException: Error serializing value 'ᄳᅳᅋᅁᅏტ㈣䳷ᅇᄹᄫ�' of type 'System.String.']

After realizing it was "?" that was breaking everything, I ended up with this round trip:

"こんにちは。元気ですか。" → "ᄳᅳᅋᅁᅏტ㈣䳷ᅇᄹᄫტ" → "こんにちは。ጃ⷗ですか。"

It's broken. I suspect Unicode requires more careful manipulation than OP anticipated. :-)

</comment><comment><USER6> Not reciprocal for CJK input, e.g. "한글" takes 5 iterations to reach stability. I believe this has to do with the utf-16 encoding of codepoints > 0x10000

<comment><USER2> 한글 is in basic plane. It's U+D55C U+AE00

<comment><USER6> I was considering the fact that when it adds 0x8000 or whatever it's doing it's hitting 0x1.... codepoints and doing weird things with those because of the encoding. Here's a trace of 한글 through this 'rot8000', though:

한글: 0xd55c 0xae00 똼軠: 0xb63c 0x8ee0 霜激: 0x971c 0x6fc0 矼傠: 0x77fc 0x50a0 壜ㆀ: 0x58dc 0x3180 㦼በ: 0x39bc 0x1260 ᪜ㆀ: 0x1a9c 0x3180 㦼በ: (repeating)

So... yeah. Weirdness all around. Might have better luck doing this with some carefully crafted xor pad for each codepoint so that it's likely to hit a printable character but impossible to hit a character in the 0xD800..0xDFFF range (and similar ranges)... trying to "wrap" in unicode would require reinterpreting the codepoints to some continuous numeric representation.

</comment></comment></comment><comment><USER7> Copy-pasting the contents of rot8000.com/info in and hitting cypher twice ends up scrambling the contents quite a bit..

      It also bypasses 32 control characters, technically making it rot7968, sometimes with an additional offset.

->

      It also bypasses ⋍2 control characters, technically making it rot⋏⋬68, sometimes with an additional offset.

<comment><AUTHOR> hmm, I'm not seeing this result

</comment></comment><comment><AUTHOR> I put in a fix for CJK and the result is: nearly everything that's not CJK now rotates into it and back out; CJK is an _huge_ section of the Basic Multilingual Plane. The fix invalidates rotations done with rot8000 before the fix, unfortunately.

</comment><comment><USER8> I just realized that 13 was probably chosen for rot13 cause that's half the number of letters in English alphabet.

I miss "obvious" stuff like that all the time.

</comment><comment><USER9> Why not call it Rot8192 or Rot0x7777 ?

<comment><USER10> rot13 is (X + (26/2)) mod 26 ; this is (X + (2^16)/2) mod 2^16. (The BMP is the first 2^16 code points of unicode.)

Edit: silly formatting dropped my math punctuation.

<comment><USER11> I suspect they also really wanted the rot8 -> "rotate" joke.

AFAICS, it's actually using decimal 8000, not 2^16/2 = 0x8000, so I don't really understand how this is reversible at all unless they're just subtracting it back.

What we really need is rot88000h for the full U+0..U+10FFFF range. :)

<comment><AUTHOR> It's using 0x8000, which is half of 0x10000 (the size of the basic multilingual plane). It doesn't extend out of BMP</comment></comment></comment></comment>


The Pleasures of Eating (1989) - <AUTHOR> http://www.ecoliteracy.org/article/wendell-berry-pleasures-eating <comment><USER2> They sure tried a lot:

      The Pleasures of Eating (1989) (ecoliteracy.org) 26 points by Tomte 20 hours ago | flag | past | web

      The Pleasures of Eating (2009) (ecoliteracy.org) 17 points by Tomte 64 days ago | past | web | 1 comment

      The Pleasures of Eating (1989) (ecoliteracy.org) 2 points by Tomte 190 days ago | past | web

      The Pleasures of Eating (1989) (ecoliteracy.org) 1 point by Tomte 204 days ago | past | web

      The Pleasures of Eating (1989) (ecoliteracy.org) 1 point by Tomte 214 days ago | past | web

      The Pleasures of Eating (1989) (ecoliteracy.org) 1 point by Tomte 215 days ago | past | web

<comment><AUTHOR> Yeah? So what?

This site has an FAQ page. Read it.

</comment></comment><comment><USER3> One of the greatest joys of my life came from a couple small changes that made huge differences.

I recommend trying these two experiments:

1\. For one week buy no food where you have to throw away packaging after. I didn't think I would be able to do it, but it profoundly changed how I eat and view food. Here is my experience: [http://joshuaspodek.com/avoiding-food- packaging](http://joshuaspodek.com/avoiding-food-packaging).

2\. For one week, eat no food where fiber has been removed. Again, it seems challenging, but once you do it, you see food differently.

For most of human history, there was no food packaging nor did our ancestors take fiber out of nearly anything. The experiments should be simple. Actually, they are, once you lose the modern view of food being a product.

<comment><USER4> Buying only food without packaging seems to exclude a lot of things to which our ancestors had access. Eggs and dairy, meat, noodles (unless you want to make your own flour from bulk wheat), any liquids...

<comment><USER5> Which obviously depends on where you live; both in cities and in the countryside here (southern Spain) I can get eggs, meat, fish, dairy, water and many more things without packaging.

</comment></comment></comment><comment><USER6> OK so this article is a little depressing, but a really interesting read nonetheless. For me, probably the most hard-hitting comment was:

> The consumer, that is to say, must be kept from discovering that, in the > food industry — as in any other industry — the overriding concerns are not > quality and health, but volume and price.

<comment><USER7> This is why I find the Soylent movement so refreshing; the DIY stuff has never been marketed as quality or healthy, but competes with the industry on its own terms (volume and price), and beats them by a significant margin. So in some sense it's a more "honest" perspective on food.</comment></comment>


Ask HN: Some important/interesting YouTube channels 4 dev/programmer you follow? - <AUTHOR> <comment><USER2> I love the funfunfunctions series where he covers advanced programming topics and functional programming in javascript.

[https://www.youtube.com/channel/UCO1cgjhGzsSYb1rsB4bFe4Q](https://www.youtube.com/channel/UCO1cgjhGzsSYb1rsB4bFe4Q)

<comment><AUTHOR> thank you!

</comment></comment><comment><USER3> I remembered that this question was asked recently; and lo-and-behold---

[https://news.ycombinator.com/item?id=12702651](https://news.ycombinator.com/item?id=12702651)

<comment><AUTHOR> Hey thanks for the link!

</comment></comment><comment><USER4> Beau teaches Javascript paired with your own reading is great.

[https://www.youtube.com/playlist?list=PLWKjhJtqVAbk2qRZtWSzC...](https://www.youtube.com/playlist?list=PLWKjhJtqVAbk2qRZtWSzCIN38JC_NdhW5)

</comment><comment><USER5> I follow simple programmer by John Sonmez - [https://www.youtube.com/channel/UCFxdcuY-S6yjZGq_2cjilHg](https://www.youtube.com/channel/UCFxdcuY-S6yjZGq_2cjilHg)</comment>


Towards Moore's law software - <AUTHOR> http://www.moserware.com/2008/04/towards-moores-law-software-part-1-of-3.html

<comment><USER2> Here are links to Alan Kay's project's technical reports:

<http://www.viewpointsresearch.org/html/writings.php></comment>


White House Drug Czar Calls for End to 'War on Drugs'  - <AUTHOR> http://online.wsj.com/article/SB124225891527617397.html <comment><USER2> _Kerlikowske Says Analogy Is Counterproductive_

So much for that. Maybe the title should be "Calls for end to 'War' on Drugs" as a way to emphasize that he's talking about spin, not substance.

<comment><USER3> _federal authorities would no longer raid medical-marijuana dispensaries in the 13 states where voters have made medical marijuana legal._

Sounds substantive to me.

</comment></comment><comment><USER4> This and the "war on terror" are perfect examples of not creating actionable, measurable goals for an initiative. The equivalent of this in business strategy are projects with goals like, "Make the best iPhone App ever" and "Make the company more social".

How do you know when to stop? How do you know when you're done?

<comment><USER5> I think it's more of a continuum than that: Let's make the best program ever Let's make a great calendar Let's make a calendar that makes it easy to share files Let's make a calendar with ftp

</comment></comment><comment><USER2> Also, it's interesting that treatment center admissions are in the 200K-300K range for pot (10% of the population uses), cocaine (2% uses) and heroin (.1% uses).

The heroin numbers look a little low, though: the number of stories on Erowid doesn't imply a 20:1 ratio of cokeheads to smack users, especially when you figure that someone coked-up is more likely to write than someone on heroin.

<comment><USER6> The heroin number appears to be lower because it's a more addictive drug than cocaine. Users are less likely to try to quit.

What's more important to consider is that treatment is not always voluntary. A sentence for a marijuana-related offense frequently requires that the convicted seek treatment and pay for it out-of-pocket. Treatment rates influenced by compulsory attendance cannot be trusted as accurate public health data.

</comment></comment><comment><USER7> I remain skeptical, but this article sounds like generally positive news.

<comment><USER8> When it comes to large, slow-moving beaurocracies, baby steps are a good thing. Generally the topics mentioned in the article are good first steps.

</comment></comment><comment><USER9> We are in desperate need of clear thinking on this topic. Beyond the people cost of incarceration of those who should be in treatment programs, there is the cost to the rest of us of building and operating prisons. In CA we have a billion dollar prison construction bond. A federal judge plans to grab billions from the state to reduce prison overcrowding. The prison guards union is the biggest lobbying/corrupting group in the state.

<comment><USER10> Perhaps it's more about de-politization than clearer thinking. Sounds like some intelligent moves have been made here, but just for political or financial gain.

</comment></comment><comment><USER11> I'm hopeful we get more policies that are results-driven, rather than ideology-driven.

And while most of this is just talk so far, I'm encouraged that they're going to begin deferring to State's Rights in at least the case of medical marijuana.

</comment><comment><USER12> Shouldn't this be on reddit instead? Seems a bit off topic.

From the HN Guidelines:

Off-Topic: Most stories about _politics_ , or crime, or sports, unless they're evidence of some interesting new phenomenon. Videos of pratfalls or disasters, or cute animal pictures. If they'd cover it on TV news, it's probably off- topic.

<comment><USER13> This is evidence of an interesting new phenomenon. It's a big shift.

<comment><USER14> Indeed. The state of inner city life and relations with Latin America are very closely tied to drug policy.

</comment></comment></comment><comment><USER15> Smart move. Washington ought to remember that the War of the Laws was the watershed event in the collapse of the Soviet Union.

<http://en.wikipedia.org/wiki/War_of_Laws>

The Federal Soviet government insisted upon laws that the satellites found unacceptable, and so they broke away. While the US has a stronger social norm of Federal control, the same scenario is possible here as the economy continues to decline.

"States' Rights" is no longer merely the battle cry of bigots. Its a necessary part of holding this nation together.

</comment><comment><USER16> I wish the graphs of weight seized had been normalized to some sort of dose unit. That I can't do so with my own knowledge shows how far removed I am from the issues.

</comment><comment><USER17> If you look at the chart, you can kind of see that the percentage of users in the past 12 months decreases with potency and risk of the drug.

marijuana (10%), cocaine (2.3%), meth (0.5%), and heroin (0.1%)

I'm curious though, why more people use Meth than Heroin, but fewer seek treatment. 23x more people have used cocaine as have used heroin, yet the same number seek treatment for marijuana, cocaine and heroin. What is that about I wonder...

</comment><comment><USER18> Does this mean that I will be able to buy pseudoephedrine at the drug store without having to show my Papers? (I imagine pigs will fly first. When has the government ever repealed a law after noticing that it didn't work?)

<comment><USER19> The end of prohibition is one obvious example.

<comment><USER20> The 55 mph speed limit is arguably another.

However, those are the exceptions. IIRC, we still have a mohair subsidy for troop clothing even though we don't use it any more.

<comment><USER19> True. If i could write constitution 2.0, I'd include a requirement that all legislation come with an expiry date.

</comment></comment></comment></comment><comment><USER21> I'm curious as to the percentage of Americans that drank alcohol illegally during the prohibition years.

What percentage level is required for legalization to be a politically sound move?

</comment><comment><USER22> Well, that's high time.

<comment><USER17> This place has no sense of humor! It's funny, I'll up you.

<comment><USER17> Take my karma! Laughter must be erradicated forever!

<comment><USER23> What works here for puns is something that you can deadpan. The "straight" interpretation of a double-entendre has to be enough to potentially fool the average HN reader, but also elicit a double-take.</comment></comment></comment></comment>