Researchers use lasers to detect and destroy tumor cells in melanoma patients - <AUTHOR> https://spectrum.ieee.org/the-human-os/biomedical/diagnostics/laser-destroys-cancer-cells-circulating-in-the-blood <comment><USER2> I've had two melanomas luckily early stage, I will likely get more so I am being checked 4-6 times a year plus doing molesafe.

I'm at Sloan Memorial because I have more than a thousand moles. One thing we are using laser for is called Confocal wich basically allow them to see my cells live without having to do a biopsy.

One of the two melanomas was found that way.

I am always hopeful about new advances but I have learned that this is a long game and hopefully I am around long enough to reap the benefits if it goes seriusly wrong.

<comment><USER3> Yes, this is exciting news. I've had melanoma once and one incident of basal cell. I get checked regularly and had three of four biopsies in the third and fourth stages of progression towards melanoma.

Wonder why none of the doctors I've visited have mentioned Molesafe? I'll check it out when I get home.

edit: Because Molesafe is NY/NJ only.

<comment><USER4> Dysplastic Naevus Syndrome? There is a bunch of doctors/researchers who are telling that there isn't such a thing as dysplatic naevus. Well, of course you have that special looking mole, but the term "dysplatic" is misleading and also the concept that there is a development of moles from benign to cancerous. A mole was either always a melanoma (or a melanoma inside a mole) or it was and is a normal mole (and will be one).

<comment><USER3> I hope I can remember to ask my Dr. about this next time I go in.

</comment></comment></comment></comment><comment><USER5> It seems surprising that the laser has such selective activity on CTCs versus healthy cells. Why are these cells so much more absorbtive? Is this specific to melanoma CTCs (more pigment)?

I also wonder how they did this measurement. Seems like you'd need to take pre- and post-laser measurements of healthy and CTC counts in the bloodstream to have high confidence that it is disproportionately damaging CTCs. To what extent does this damage healthy cells?

<comment><USER6> Head researcher in 2003 pioneered the use of laser-induced vapor nanobubbles around overheated plasmonic nanoparticle clusters to kill single tumor cells without harming neighboring normal cells.

[https://news.uams.edu/2017/06/08/uams-researchers-kill- cance...](https://news.uams.edu/2017/06/08/uams-researchers-kill-cancer-cells- using-nanobubble-spaser-as-the-worlds-smallest-laser/)

<comment><USER7> Wow. That sounded like something from a comic book.

<comment><USER8> Make it so, Geordi.

</comment></comment></comment></comment><comment><USER9> The title should be updated to read "circulating tumor cells". Major biologic difference.

</comment><comment><USER10> I'm not sure if this is silly or not but why is it not possible to target cancer cells with a bunch of weak lasers distributed around a person pointing at the same location in 3d space and just selectively zapping them? We have real time MRIs and CT scans. Can't we just lie people with cancer down daily and shoot them with incredibly precise beams of light to cook the cancer cells alive? Maybe just cauterizing the blood pathways that are feeding tumors in the first place?

I'm seriously hoping someone can tell me why this idea is stupid.

<comment><USER11> It's not stupid, and we already do this. There are many different forms of radiation therapy ([https://en.wikipedia.org/wiki/Radiation_therapy](https://en.wikipedia.org/wiki/Radiation_therapy)), and they're commonly used in breast and brain cancers.

<comment><USER12> Totally!

Also for whomever else reading this thread, I've been privy to quite a few medical tech startups and let me please share, it's much simpler than one might imagine to create new medical tech. It's a remarkably underserved area, the requirements are not quite as hard to get through as it would seem from first glance and I've been appalled at many of the systems that are in current use at many hospitals. We're talking Stone Age level in a lot of ways! If you're humble, willing to go in and actually listen to the doctors and nurses to identify the real problems and willing to create robust solutions it's practically the Wild West of opportunities.

<comment><USER13> What I've always wondered is: how many medical "$100 bills laying on the street" are there to pick up, if you don't care about the need to commercialize (and thus go through FDA rigamarole for) a therapeutic approach, but just want to improve _your own_ health, or the health of someone you love, as a one-off?

For pharmaceuticals specifically this is what people call "nootropics"—but there's so much to medicine _other_ than searching for new chemicals to put into people's bodies.

I've got to assume that, for example, there's just as many things a clever hardware hacker could do to with e.g. masers or ultrasound or electrolysis or ferromagnetic nanoparticles, to influence the course of a disease; or things a clever biochemist could do by, say, encapsulating existing drugs (or even ordinary non-drug substances) in novel delivery vehicles like cyclodextrin molecules or gel matrices.

What medical miracles have been performed once, on a rat in a university research center somewhere, but have never even attempted commercialization?

<comment><USER12> Spent the last few hours trying to track down this book to no avail but short answer: you're spot on!

Off the cuff in line with your thinking that's been a life saver for me over the last 20 years... super glue. Locktite gel blue resealable squeeze bottle. Have saved myself at least a dozen trips to the hospital for stitches with this stuff with only one complication last time due to my negligence. Take- away: yes wounds can actually go septic if you don't properly clean them prior to dressing and yes wounds need to breathe and be dry to heal.

On the pharmaceutical side I can't speak too much to, but I'm firmly convinced after 15 years of personal experimenting that diet (real food, not too much, mostly blah blah blah) and stress management via lifestyle design are the miracles we read about. Add to that mild physical activity, drinking lots of water, good sleep, good mental & physical hygiene and it's practically a wonder drug.

</comment></comment></comment></comment></comment><comment><USER14> Could this be made a lot more efficient by combining with dialysis, i.e. targeting the cells in a dedicated blood-pumping machine with more surface area, no skin layer and less worries about collateral damage?

<comment><USER15> The beauty of it is that no blood need be removed. That is a huge improvement in terms of patient experience.

</comment></comment><comment><USER16> The problem with fighting cancer is selectively destroying cancer cells while leaving normal cells alone. This article unfortunately says nothing about how this device does so (or even whether it does).

Without some handle on this aspect, side effects (some of which might show up much later) could be a major problem with this treatment.

No time to plow through the original paper - does anyone know?

<comment><USER17> Yes, the linked article addresses exactly that:

The laser, beamed at a vein, sends energy to the bloodstream, creating heat. Melanoma CTCs absorb more of this energy than normal cells, causing them to heat up quickly and expand.

This thermal expansion produces sound waves, known as the photoacoustic effect, and can be recorded by a small ultrasound transducer placed over the skin near the laser. The recordings indicate when a CTC is passing in the bloodstream.

The same laser can also be used to destroy the CTCs in real time. Heat from the laser causes vapor bubbles to form on the tumor cells. The bubbles expand and collapse, interacting with the cell and mechanically destroying it.

</comment></comment><comment><USER18> And? Won't the migrating cells just keep coming unless you target the original cancer too? It seems like a very temporary improvement at best.

Missing part of the idea here.

<comment><USER19> No one gets their cancer cured, just hopefully into remission. No matter the therapy there will always be a few cancer cell populations that evade treatment. This is why cancer patients are monitored for life.

</comment></comment><comment><USER20> When will this be generally available everywhere?

</comment><comment><USER21> An old XKCD is, as usual, highly relevant: [https://xkcd.com/1217/](https://xkcd.com/1217/)

Granted, this is actually a trial in humans, so that's good! But if you look at the study, the focus is on detecting circulating cancer cells; attempting to use the technology to destroy them is relegated to one paragraph near the end. There they note that this seemed to happen by accident, to a limited degree, in 6 out of the 18 patients; so they tried again in a single patient, whose melanoma cell melanin content was particularly favorable for this process, and it again seemed to work ("up to a 48-fold reduction" in circulating melanoma cells.)

They went on to do in vitro tests to try and show it would work in general, aiming the laser at a test tube full of blood; this worked, which is encouraging, but it shouldn't be taken as a strong indicator of anything practical. (And even there, they note that the melanin content of the tumor cells is important to the treatment's effectiveness.)

And yes, it's only targeting circulating melanoma cells. This tech can't just aim a laser at a tumor and kill it; it probably isn't useful for non-solid cancers like leukemia, either. So while this is cool and interesting, it's not a huge breakthrough in cancer treatment.

<comment><USER22> The XKCD is spot-on here.

> "In one patient, we destroyed 96 percent of the tumor cells" that crossed > the laser beam, says Zharov.

Just want to clarify: tumors will generally drop hundreds of thousands to millions of cells into the blood stream on a daily basis. Most of the circulating tumor cells are already unlikely to become mets at baseline, and by the time you've found a tumor you've already seeded these cells in a number of locations throughout the body. This seeding usually occurs long before we can detect the primary tumor. We get "metastasis" when a number of other factors come into play that allow a particular CTC / bundle of CTCs to start growing into a met. For those interested, R. Weinberg's text on cancer is pretty much _the_ authority, and he discusses this at length.

As it exists, as a therapy, it's for catching some of the horses that are making it out of the barn - after the doors have been open for a while.

To be useful as a therapy, we'd need something that can be worn 24/7 - if I catch a tumor that needs to be excised, I'd put it on your arm, and use it to deplete the circulating population to reduce the likelihood of metastasis happening in the period between detection and excision. And I'd need an RCT to show me that this is actually going to result in a reduction of metastasis, since there's every likelihood that the eventual met won't come from the CTCs seeded in the period between detection and excision.

Don't get me wrong; I'm happy to see more ways to detect and kill tumor cells. But this is still many steps away from becoming a technology with clinical application. At this stage, its relationship to useful cancer therapy is the relationship between my laser pointer from ten years ago and a sci-fi laser pistol.

What this _is_ cool as, is as a mechanism for helping _detect_ cancers. I'm all for having something I can slap on your arm and let me know if you've got melanoma brewing, rather than having a dermatologist manually inspect all your crevices for an overlooked mole.

</comment></comment><comment><USER23> These things never fail to get the same reaction from me: I get immediately excited, thinking that we've cured cancer, and then a bit depressed because this thing is probably a really long way away.

I don't work in the medical industry, but to those that do, do these headlines irritate you?

<comment><USER24> Usually the big advances are built on a number of small incremental advances. Think about modern immunotherapy like CAR-T. Rather than recap myself I'm just going to post this timeline of the milestones that led to CAR-T over many decades: [https://www.mskcc.org/timeline/car-t-timeline- progress](https://www.mskcc.org/timeline/car-t-timeline-progress).

You'll generally be disappointed, though. "Cancer" isn't really a thing. It is a family of disorders characterized by several properties that arises from different causes. At this point in my life, I am very confident that we will never have a single general cure for cancer (killing mutated cells, repairing carcinogenic dna damage).

</comment></comment><comment><USER25> If you could embed a Fibre web in deep tissue and give the machine a scan technologie and a waytto move the endpoints, you could micro dose suspicious tissue.</comment>


Barbie book about programming tells girls they need boys to code for them - <AUTHOR> http://www.dailydot.com/geek/barbie-engineer-book-girls-game-developers/

<comment><USER2> Previous discussion: [https://news.ycombinator.com/item?id=8625092](https://news.ycombinator.com/item?id=8625092)</comment>


Ask HN: Review my startup, NewsQast - local news, weather, traffic, and more - <AUTHOR>

NewsQast is a local news, weather, traffic, and more aggregation service meant to provide a broader news experience across all media markets sourced to the consumer via multiple channels.
Some Background: NewsQast started as just a mobile app concept that would replace the need to have 4 or 5 different news apps on my phone by aggregating the news into one app. Then based on initial feedback from a few people, it was recommended that this could be valuable across multiple channels, thus I am expanding to provide news information via the web, mobile apps, and Twitter feeds.
I have completed a beta version of the website to give the public a glimpse of the NewsQast concept. I am working on the mobile app and Twitter integration as we speak.
Request: I would like to ask the Hacker News community to provide me feedback on the concept and usefulness of the service.  I am not a designer so I know the web design could use more graphical work, but I would like more validation and feedback on the concept and approach before getting too far down the line.
URL: http://www.newsqast.net/
Thanks for the feedback. <comment><USER2> When I visit a landing page, I want to know quickly what it's about. There is some excess wording - How about changing "Are you like me and..." to "Do you..."

I don't know that I'd use this, but I could see the usefulness if I looked at a few more news sources on a regular basis. If I used this, I would want the source links on the left to do something different. When I click on "WCBS-TV", I want the results on the right to filter so that I only see the news items on WCBS. I don't want to see a whole list of items from the sources you have selected.

To clarify, replace the source links on the left with a checklist. I can check three sources, and the feed only contains items from those sources. Now this becomes my news feed for NY instead of me looking at your news feed for NY.

<comment><USER2> Landing page - shorter "Do you" lead ins will let you increase font size, making it easier to see what the site does instantly.

Replace the text links with buttons - if you have made the newsqast concept clear in the lead ins, you don't need to say what the locale links do. Just make a grid of buttons with large text - Austin Chicago New York. As a visitor, I can see what clicking on the NY button will do. The last button could be "request a market near you". That would let you build a potential user list as well. Right now, the biggest link is the google chrome link. Your locales should be that big, and that appealing to click on.

Last, I like the sketch idea. Just simplify it a little. Just keep the (news weather traffic)->(newsqast)->(web mobile twitter)->(happy user) parts, and give them more breathing room.

Good luck!

</comment></comment><comment><AUTHOR> Thanks for the feedback, I knew the landing page wasn't great. I like the recommendation by japhyr to use the sources as filter items so a user can tailor the view to their interest.

In terms of landing page, would you rather see a list of buttons with the available locations or I was thinking of having a map that highlights the areas covered and allow a user to click on a pin or popup link over an area when they hover over it. Then it would be 'Get news, weather...etc' and a map with locations or a list of buttons with locations.

I also like the idea of submitting personal zipcodes to weigh the demand for locations not already setup.

</comment><comment><USER3> I really like the idea that you want to consolidate all these categories into a central hub. Like others said earlier, the landing page info is a bit too much. Perhaps you could try using shorter sentences and keep it to 1-2 paragraphs (1 being preferable).

An upvote system would be incredibly useful also. I don't really care about some of the news generated at the top and I'd like to look at what others found useful. Just my thoughts - good luck to ya!

</comment><comment><USER4> My two cents...There's a lot to read. I'd expect the home page to say that you can "Get local news, weather, traffic and deals" and a place to enter your zip to see if it's in your area. Your option are then to either signup or be notified when their city is available. I won't think to "check back often", so you should immediately want to capture interested users on their initial visit.</comment>


Texas Instruments to acquire National Semiconductor for $6.5 billion - <AUTHOR> http://national.transactionannouncement.com/

<comment><USER2> Why did this website make me agree to an agreement just in order to read a press release (containing no more information than the headline)?

<comment><USER3> I was really wondering that too. I just opened the inspector and deleted the node to read the article. I'm not accepting any legal-speak to read what's already there.</comment></comment>


Building a Simple VPN with WireGuard with a Raspberry Pi as Server - <AUTHOR> https://snikt.net/blog/2020/01/29/building-a-simple-vpn-with-wireguard-with-a-raspberry-pi-as-server/ <comment><USER2> For anyone else wanting to set this up at home, I'd recommend installing the vyatta-wireguard module [1] on an EdgeRouter X instead. It costs about the same as a Raspberry Pi, and you get a reliable network appliance with four gigabit ports and PoE, rather than a general purpose Linux box with graphics and USB. I've found the WireGuard module to be fast enough to keep up with my 100/40 Mbps internet connection, and now when my Linux server goes down, the network it's connected to stays up.

[1]: [https://github.com/Lochnair/vyatta- wireguard](https://github.com/Lochnair/vyatta-wireguard)

<comment><USER3> I upgraded from an ER-X to an ER-4 because the X can't do full 1000 Mbit with PPPoE fiber without hardware offload. With hardware offload turned on there's a bug in the hardware that causes some sites, most notably Netflix, to not route at all.

The ER-4 has been great with the Cavium hardware. No hardware offload issues like this.

Edit: The ER-X tops out around 500 Mbit with hardware offload turned off.

<comment><USER4> Huh. I have a er-x with hardware offloading turned on. I have noticed no issues with netflix.

I get about 900 megabit on my gigabit fiber.

<comment><USER5> while i don't use it it should be possible for ppoe with hw offloading, so i don't get it either. maybe that's disabled on the slow one...

[https://help.ubnt.com/hc/en- us/articles/115006567467-EdgeRou...](https://help.ubnt.com/hc/en- us/articles/115006567467-EdgeRouter-Hardware-Offloading)

but i'd assume it should handle fast rates like this if hw offloading was on.

</comment></comment></comment></comment><comment><USER6> Cool project - if you're looking to set up a secure VPN in a quick, no- nonsense way, be sure to look at [Algo]([https://github.com/trailofbits/algo](https://github.com/trailofbits/algo)). Does WireGuard (and IPSec if you want), only secure, sane defaults, and nothing more. Hands down the easiest, most secure way to setup a modern VPN in a few minutes. Far better than using some random anonymous VPN service running out of some random person's closet that's.

<comment><USER7> +1 for Algo. I've been using it since last year on a VM (took under 5 minutes to setup), for firewall access (SSH, RDP, DBs etc.) to work servers.

Works great for secure access from anywhere when working remotely or travelling.

<comment><USER8> Also check out Streisand[0] if you're interested in this.

[0] [https://github.com/StreisandEffect/streisand](https://github.com/StreisandEffect/streisand)

<comment><USER9> I've had good luck with Streisand.

The major advantage to using Streisand instead of Algo is that it comes with lots of obfuscation goodies to help get around restrictive firewalls, like shadowsocks.

Also, if you're on a restrictive firewall and you need to quickly assess what ports are even open for egress, you can do `nmap --open allports.exposed` to find them. Then use one of streissand's VPN options and connect.

</comment></comment></comment></comment><comment><USER10> A question for people with experience in this area:

I've been considering setting up WireGuard so I can keep my mobile phone always connected to my home network.

Will I experience degraded network performance (either latency or bandwidth) if I have my mobile phone always connected to a VPN 24/7?

My phone is an iPhone 11 Pro and I would be running WireGuard on a Pi4

<comment><USER11> Some bandwidth and latency downgrade seems certain. Google, Netflix, and others invest a lot to cache content closer to your phone. A VPN circumvents that approach. The experience, though, is individual enough, that nothing other than trying it would tell if it it's "good enough" for you.

<comment><USER12> You don't have to route all your traffic through the VPN (though it's unclear from the question whether or not that's the goal). If he only wants access to resources on his home network, it's entirely feasible to set that up while still routing other traffic out through the public internet via your ISP/carrier.

<comment><USER10> I should have mentioned above, but I want to use pihole as well so ideally I'd route almost all my traffic through my home vpn.

<comment><USER13> You can still just have a local pihole dns server with your web traffic going out over your mobile isp.

</comment></comment></comment></comment></comment><comment><USER14> I have beeen looking at setting up a vpn to be able to hook up my pc to the office network. I don't know a whole lot about it but I ended up trying out Softether for the job just this weekend. It's a free and opensource project from the University of Tsukuba, Japan. It promises that it can achieve speeds far higher than Openvpn. It was really just a click next, next type setup both on client and server which was the reason I went for it over openvpn which seemed more complicated and would require me to handle DNS stuff etc. I was impressed that I was able to get it up and run a desktop application designed for a local network with a minimal increase in lagginess. I'd value the opinions of people more knowledgeable than I who may have tried it.

<comment><USER15> It looks like softether is just a management GUI / framework that handles a bunch of different underlying VPN products/standards? The README says the following are supported "SSL-VPN, OpenVPN, IPsec, L2TP, MS-SSTP, L2TPv3 and EtherIP by the single SoftEther VPN Server program." Looking at the documentation for client setup it looks like you just setup an IPSEC client.

<comment><USER16> I believe SoftEther has its own userspace implementation of all of these protocols + NAT.

</comment></comment></comment><comment><USER17> Would a Pi4 be able to handle being both a VPN and a pihole, or should these be two separate boxes?

<comment><USER18> I set my Pi4 up with wireguard+pihole recently. I think pihole does nothing 99.99% of the time, so I can't speak to how performance is in worst case scenarios, but wireguard seems fine. I get about 25 Mbps up/down (speedtest.net with a single client, so assume it's 25 Mbps aggregate. Not a lot for hefty file transfers but comfy enough for VNC to multiple hosts. The big win is in decreased latency. I don't have good quantifications of this beyond speedtest.net run from my work. 5 ms with no VPN. 82 ms using my router's OpenVPN. 24 ms using Pi4 wireguard. These were just single runs so the strong law of small numbers may apply. I know iperf is more scientific, but I wanted a quick, empirical full internet test. My home internet is 550 Mbps down / 36 Mbps up.

Full data (iPhone 11 client at work):

<VPN>: <down Mbps> / <up Mbps> / <RTT ms>

No VPN: 145 / 139 / 5

Router OpenVPN: 25 / 6 / 82

pi4 wireguard: 24 / 27 / 24

<comment><USER10> Is your no vpn sample still on the same home network? Or are you comparing your mobile data or another network to your home network (through vpn)

If the former is true, that seems like quite a significant penalty to pay for using wg.

<comment><USER18> All three runs were on work wifi. There is some bottleneck in between my work and apartment since my apartment connection is 550 / 36\. It isn't a test of raw wireguard performance, but rather a realistic best case scenario for full internet tunneling on the go.

</comment></comment></comment></comment><comment><USER19> I have been using ZeroTier([https://www.zerotier.com/](https://www.zerotier.com/)) much simpler solution to setup.

<comment><USER20> Doesn't sound like it's Open Source to me.

"A commercial license is only needed if you want to offer a paid network management service or embed it into a proprietary device or app."

I would stay away from software that wants to restrict how you use it.

<comment><USER21> From their site:

> commercial license is only needed if you want to offer a paid network > management service or embed it into a proprietary device or app.

A cursory look suggests that it's open source, with restrictions that they clearly list on their site here[0]. I get your point, but I personally don't mind if a business open sources their software and allows free use of it for non commercial cases.

[0] [https://www.zerotier.com/pricing/](https://www.zerotier.com/pricing/)

<comment><USER22> That's not open source. They make the source available but open source does not restrict what you can do with it other than sometimes requiring that you share the source for your binaries.

<comment> L-four Open source just means you have or can get access to the source. FOSS Free open source software also gives you the rights to use the source.

<comment><USER23> FOSS implies restrictions on the developer in the service of end-user freedom, eg. copyleft and anti-tivoization.

Open source implies nearly unlimited rights for the developer, like BSD, MIT, or Apache.

With these idiosyncratic restrictions (noncommercial, research only, do no evil, etc) we typically say "disclosed source."

<comment><USER24> > _FOSS implies restrictions on the developer in the service of end-user > freedom_

No it doesn't. You're thinking of copyleft licenses. FOSS is not synonymous with copyleft; many FOSS licenses (recognized as such by RMS and the FSF) are not copyleft.

<comment><USER23> Whoa, you're right. I definitely remember reading a tirade against permissive licenses that I thought was FSF's position, but I see they do explicitly recognize permissive licenses as Free Software.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER25> What's the throughput like on a Raspberry Pi?

<comment><USER26> I was only able to get ~60mbps with OpenVPN through a hard wired Raspberry Pi 3 connected to Google Fiber, due to limitations of its bus.

The 4 is supposed to be actual gigabit, but I have not yet tried it out to confirm.

<comment><USER27> I'm trying to set it up on a RPI4 as an 802.11ac wireless router, to verify this. If it manages 100mbps+ then it'll be a cheap replacement for my current router.

<comment><USER28> Are you keeping a write-up of your progress anywhere? Would love to see how this turns out.

<comment><USER27> Not yet; but that's a good idea. Thanks for the nudge :)

</comment></comment></comment></comment></comment><comment> liv-io For anyone who wants to operate it in a broader scale: [https://github.com/liv-io/ansible-roles- centos/tree/master/w...](https://github.com/liv-io/ansible-roles- centos/tree/master/wireguard)

</comment><comment><USER29> Does WireGuard require a kernel module or a specific kernel? (I saw a day or two ago it was in linus' tree). Can I run WireGuard on a digitalocean droplet?

<comment><USER30> [https://www.digitalocean.com/community/tutorials/how-to- crea...](https://www.digitalocean.com/community/tutorials/how-to-create-a- point-to-point-vpn-with-wireguard-on-ubuntu-16-04)

</comment></comment><comment><USER31> I have really good experience with rasPI first generation and WG running on openWrt. OpenWrt is perfect lightweight OS for this task.

</comment><comment><USER32> Edge Router X looks interesting. Is there a Raspberry now that offers Dual Gigabit Internet Ports (2XGBit)?

</comment><comment><USER33> Ironically this looks considerably simpler than trying to get wireguard working on my OpenWRT router (and with much less collateral damage should I mess up).

I might give this a try!

<comment><USER34> I've been running a WireGuard VPN on my OpenWrt router for quite a while with no issues whatsoever. Rock solid since I set it up, only has a 4 or 5 peers, but it's been excellent and I highly suggest it versus adding yet another single purpose device.

Not sure why the RPi is so lauded for this and Pi-Hole (which is just a fancy DNS blocklist) when OpenWrt is just as simple and powerful for both (and more) tasks.

<comment><USER33> My main issue with doing this with OpenWRT is that it is loaded with abstractions. Network, interfaces, firewall zones, bridged zones, etc. When they all work, it's nice and almost magical.

But when setting up new custom zones from scratch (like this VPN subnet/zone), I never feel quite as home as I do with the traditional Linux command-line and iptables.

Basically OpenWRTs abstractions don't map cleanly to the underlying Linux- primitives I know fairly well. The impedance mismatch there is what make me consider the RPi-based solution more preferable, because I understand how and why it works.

</comment></comment></comment><comment><USER35> I think there's some issues in the config. First of all, at least one of the CIDRs is wrong ("Address = 10.200.200.2/24"). Also by setting AllowedIPs to to 10.200.200.0/24 in the _client_ , only traffic to that subnet will actually go through the VPN, not _all_ traffic.

Isn't there also some missing host/RPI system so that the 10.200.200.0/24 can route to the public internet?

If someone has an example of a full VPN configuration I'd love to see them so I can try it out.

<comment><USER12> > First of all, at least one of the CIDRs is wrong ("Address = > 10.200.200.2/24"). Also by setting AllowedIPs to to 10.200.200.0/24 in the > client, only traffic to that subnet will actually go through the VPN, not > all traffic.

Not sure what your issue is with the address line.

As for the AllowedIPs, that's intentional. From the first lines of the article:

> An Linux Laptop that should use the VPN only accessing network services that > are exposed to the VPN

VPNs aren't just for routing your public traffic through some trusted host.

<comment><USER35> Is 10.200.200.2/24 a valid cidr? Does the system just ignore the trailing 2 and assume it's a 0?

<comment><USER36> 10.200.200.2/24 is a shorthand form (a.k.a. "CIDR notation") of saying IP address 10.200.200.2 with a 24-bit subnet mask (255.255.255.0).

</comment></comment></comment></comment><comment><USER37> Are there any commercial products available for this or Pi-holes?

<comment><USER38> Yes, I'm also waiting for a lightweight Wireguard/pi-hole appliance.

<comment><USER37> I've thought about trying to build a commercial pi-hole product. Anyone else?

<comment><USER38> I've also thought about this. But basically it will be re-packaging a modern linux kernel, giving some support w/ key management and packaging it in a nice case.

I think there is definitely a market for it.

<comment><USER39> I feel like a Wireguard-only VPN company might be viable and a hardware product would be a good side product

<comment><USER37> The VPN gives you monthly recurring revenue versus the one-time hardware revenue. Maybe a subscription that includes an up-to-date DNS blacklist for the pi-hole?</comment></comment></comment></comment></comment></comment>


Tesla signs $9B agreement to build factory in China - <AUTHOR> http://mashable.com/2016/06/24/tesla-factory-china-9-billion/#dYGLqlzyaSqd <comment><USER2> This is blogspam and a misleading title, the report is actually from Bloomberg:

[http://www.bloomberg.com/news/articles/2016-06-20/shanghai-s...](http://www.bloomberg.com/news/articles/2016-06-20/shanghai- said-to-be-front-runner-for-tesla-china-production-site)

It is anonymously sourced, but knowing it is from Bloomberg is much different than it being from Mashable:

> Shanghai has emerged as the front-runner to become the production base for > Tesla Motors Inc. in China in an investment that may be valued at about $9 > billion, according to a person with knowledge of the matter.

<comment><USER3> Blogspam and a misleading title are bad enough, but the original story doesn't look substantive either. Generally HN can afford to ignore rumors and wait till the thing actually happens. So rather than change the URL as we normally would, we're just going to downweight this post.

</comment></comment><comment><USER4> Elon has spoken: [https://twitter.com/elonmusk/status/747298731691696130](https://twitter.com/elonmusk/status/747298731691696130)

"We haven't signed anything for a factory in China"

</comment><comment><USER5> Rather short article. I am an absolute layman when it comes to legal matters of this kind, but this struck me as odd:

"Tesla Motors has reportedly signed a non-binding agreement with Chinese government-owned company Jinqiao Group to construct a Tesla production plant in the city of Shanghai."

How can an agreement to build a factory be non binding?

<comment><USER6> I imagine it's just that details are yet to be finalised so both parties can back out if something comes up.

</comment></comment><comment><USER7> This has been denied by Jinqiao recently.

[http://stock.jrj.com.cn/2016/06/27104521116602.shtml](http://stock.jrj.com.cn/2016/06/27104521116602.shtml)

</comment><comment><USER8> TSLA: Not for the faint of heart.</comment>


Why math can never have a "Theory of Everything" - <AUTHOR> http://www.plus.maths.org.uk/issue37/features/omega/index.html <comment><USER2> Isn't it physics that's trying to have a "Theory of Everything"?</comment>


Man and Media (1979) - <AUTHOR> http://www.marshallmcluhanspeaks.com/lecture/1977-man-and-media/ <comment><AUTHOR> Marshall McLuhan discussing the impacts and dynamics of new technologies, particularly media technologies. Audio, 8 minutes.

PDF transcript: [http://www.marshallmcluhanspeaks.com/media/mcluhan_pdf_12_ZS...](http://www.marshallmcluhanspeaks.com/media/mcluhan_pdf_12_ZS6aMYZ.pdf)</comment>


A conference for polyglot programmers – Regular tickets on sale - <AUTHOR> http://polyconf.com/2016/ <comment><USER2> The whole polyglot programmer thing is totally weird to me. Why would you _not_ be a polyglot programmer? And why are we celebrating it as if it was something special?

<comment><USER3> Maybe it's a reaction against single language / framework conferences? There seem to be quite a few of those: Laracon (for Laravel), DjangoCon, PyCon, EuroPython, etc. Maybe it's good to have a technical conference covering multiple languages, especially for people who don't have time or budget to attend all the different language conferences?

[Personally I can see value in both approaches to conferences, though.]</comment></comment>


Story of LightPhone - <AUTHOR> https://big.ceo/joe-hollier-kaiwei-tang-752946158430#.stkh3h2yg <comment><USER2> That's some fucking bullshit.$100 for a credit card shaped Bluetooth headset? I can buy a full credit card phone for less than 10.</comment>


Nintendo Developer Portal - <AUTHOR> https://developer.nintendo.com <comment><USER2> I previously worked with the Nintendo Web Framework to bring one of my HTML5 games to the Wii U[1].

NWF itself is quite polished and very easy to work with. You get all the dev tools you know from Chrome – the debugger connects directly to the console. "Porting" my game was very straight forward for the most part.

However, the hardware setup was clunky. You're swapping out SD cards to install images with the system software and the account setup is really tedious.

The worst part was the whole paperwork you have to wade through. The game submission process is as manual as it gets. There's no nice web interface to tie it all together - instead you're writing emails, filling out PDFs and Excel Sheets(!). Hundreds of emails.

I can only hope that they improved the paperwork part. This was all about 2 years ago.

[1] [http://phoboslab.org/log/2014/07/xtype-plus-an-html5-game- fo...](http://phoboslab.org/log/2014/07/xtype-plus-an-html5-game-for-the- nintendo-wii-u)

<comment><USER3> Was it worth the trouble?

<comment><USER2> Financially? Not really. I made about $30k from the game in total. It's a very simple game, though. Nothing you'd expect big sales numbers from.

<comment><USER4> Did it take you less than about 8 full time months to make the game? If so you just made the median salary in the US for full time work.

<comment><USER5> I think the real question is whether he made more money than he would have otherwise in the same time, not where his earnings compare to the median employer.

</comment></comment></comment></comment></comment><comment><USER6> If I'm reading this right, it'll cost at least $2,285.00 to get the minimum setup needed for development. Said that I can't use my existing Nintendo 3DS, 3DS XL, or new 3DS. Thanks, Nintendo! :/

<comment><USER7> That is about half the common cost for a devkit. Plus the 3DS and WiiU devkits are not just regular devices with a swapped ROM. They are special hardware run. If you have a publisher you could ask to borrow theirs. My last company was using one borrowed from the client.

Sadly Nintendo less connections oriented. Sony lends devkits for free pretty often if you can convince them your game is going to be good.

<comment><USER8> Well, if you need to run flashed carts, then yes, they are custom hardware. Downloadable titles can be debugged and run on normal 2DS/3DS hardware with the IS-SNAKE according to the site, which still costs over $2K. The dev units themselves are fairly reasonably priced considering they'll have additional memory for debug builds, etc, and cost a reasonable amount - the problem is the flash card writer and debugger hardware that is needed to actually use them.

<comment><USER9> couldnt they just do some sort of dev signing?

<comment><USER8> Actually, I was wrong, the IS-SNAKE is a complete "New 3DS" dev kit. These devices are resource constrained, so you need more memory, CPU, etc to be able to properly debug anything on these devices.

</comment></comment></comment></comment></comment><comment><USER7> Working in the japanese game industry it feels like Nintendo is ramping up in a big way for the NX.So I assume this revamp is more in prep for the NX than it is for the WiiU.

<comment><USER10> The PoGo game must be giving Nintendo believers a big morale boost.

<comment><USER11> Yes and no. Moving games to mobile platforms is a downward spiral, eating the future of Nintendo consoles.

<comment><USER12> I disagree, as long as the experience is right.

Nintendo have been hesitant because they don't want to dilute and diminish their IP, but if the experience is nailed (PoGo is close enough to nailing it, and should only get better) then the IP should only be bolstered by the mobile version.

On the flipside, a traditional Mario / DK / whatever title on mobile for example would eat away at their console market, which is what they're aiming to avoid.

<comment><USER11> If you can play Pokemon on mobile, you won't buy next 3DS, plain and simple.

<comment><USER13> I don't think that's true, at least when it comes to Pokemon Go.

Playing Pokemon Go has inspired me to dig out my ancient gameboy and to start playing Pokemon again. I'm strongly considering buying a new Nintendo device—I'd forgotten how fun Pokemon is.

<comment><USER14> Totally anecdotal but I had the same experience. Playing Pokemon Go prompted me to go on a nostalgia-fest and purchase red and green on VC for my 3DS. I wouldn't be surprised if the core game sales are seeing an uptick from the interest around Pokemon Go if for no reason other than it reminds those of us that were around for the original Pokemon surge.

</comment></comment></comment></comment></comment></comment></comment><comment><USER15> I made an investment in a CAT-DEV more than a year ago. It was very hard to get working and their support wasn't great. Their forums were a lot better and I could find answers by reading threads. They use the Green Hills Multi Compiler and a version that doesn't even support C++11 yet. If you wanted Visual Studio support you had to be a member of Wario World developer program, in which I was denied, because they thought that having more than one idea meant you couldn't complete even one of those.

I'll check this out again now and see how the offerings have changed.

</comment><comment><USER16> You know what would really matter is if they'd let me make an HTTP request from their devices. Not sure that's ever going to happen. I can understand why they have always locked that down, but at some point the possibilites have to outweigh the risks.

<comment><USER17> I think it already "really matters" that one of the companies that's had the least open platforms for a decade is making such a dramatic shift.

<comment><USER16> Yeah that's true. The ability to self-publish is a huge deal, and very surprising from Nintendo.

</comment></comment></comment><comment><USER18> Anyone, with a few thousand dollars to spend on development hardware.

<comment><USER19> There is no native dev option either. You're locked to Unity3D or web...

<comment><USER18> Once I log in, I can download a bunch of things on their download page[0] for the 3DS, including a native toolchain (ARMCC) and various versions their low- level C library (nlib).

[0] [https://developer.nintendo.com/group/development/wtc6ppr2/do...](https://developer.nintendo.com/group/development/wtc6ppr2/downloads)

</comment></comment></comment><comment><USER20> IIRC, they used to have a requirement that devkit stuff be kept in a locked, dedicated space, like an office, and a "home office" room supposedly wasn't good enough. Did they get rid of that?

<comment><USER15> You recall correctly. I had to sign that this was the case and be willing to verify that if they asked. I kept mine locked in a cabinet.

</comment></comment><comment><USER21> To be fair, it's not like it was difficult to sign up for a WiiU devkit before - nintendo had a very indie-friendly WiiU access program for more than a year now. 3DS access is new and much appreciated.

</comment><comment><USER22> Nintendo exclusive games are mostly what sells the consoles ("software sells hardware").

Right now Nintendo is mostly making remakes of their existing games and non- Nintendo publishers don't get to receive the same amount of attention/sales.

</comment><comment><USER6> I don't think this could have saved the Wii U from its mediocre fate, but if only this were available from Day 1...

<comment><USER23> Wasn't it? I don't know about the 3DS, but I think this was up from very early on in the Wii U's lifecycle: [http://web.archive.org/web/20160330230414/https://wiiu- devel...](http://web.archive.org/web/20160330230414/https://wiiu- developers.nintendo.com/)

</comment></comment><comment><USER10> It's a strange thing that these companies seem only to open their platforms to development in a tardy and reluctant manner, Microsoft being a case in point - "developers, developers, developers" was the cheerleading chant from Steve Ballmer, unless of course the developers wanted to code for Xbox. They've opened it now I believe but again - extremely late in the game.

Meanwhile, Apple welcomes developers from day one and there are so many applications developed that it's hard to get user attention amongst the app store noise.

<comment><USER24> That's nonsense. When the iPhone launched it did so without a native app SDK, which was by far the biggest criticism leveled against it from the tech audience. They fixed it, but it wasn't day-one. And didn't the Apple TV launch without an app SDK initially, too?

Meanwhile gaming consoles are obviously not open platforms, but the vendors /do/ usually entertain developer relations from day one - I can't recall any launches with only first-party games.

Considering you can't deploy to iOS without Apple's approval, it's really not any more open than gaming consoles. The App Store and its approval process just operate at a larger scale, they're not conceptually more welcoming.

<comment><USER25> My understanding was that the SDK at release 1.0 would have been terrible, and an expensive maintenance burden. The internal teams rushed hack jobs just to get the first iPhone out the door, there was a _lot_ of internal bugs and half-baked APIs.

So if you're arguing Apple is hostile to developers because they didn't have an SDK on launch day, then you haven't thought through what iterative development at very large scale actually requires. Giving developers access to tools that aren't ready isn't the best criteria.

<comment><USER24> I do think Apple is hostile to developers, because I don't want a vendor to get inbetween me and my user audience, but that problem applies equally to iOS devices and gaming consoles.

I didn't argue that point in my post. I'm aware the reasons for the iPhone not having a SDK on day one and the reasons for why gaming console vendors don't have a mass developer relations story are very different.

The more interesting point is that developer relations for gaming consoles and iOS devices are really conceptually pretty similar: Both require you to ask the device vendor for permission to ship your app. It's equally walled gardens.

<comment><USER26> > I don't want a vendor to get inbetween me and my user audience, but that > problem applies equally to iOS devices and gaming consoles.

So, pre-iPhone, the market for downloadable apps for mobile phones was huge and there wasn't any intermediary parties (like, say, network operators) getting in the way of developers, right?

<comment><USER27> On my Palm Treo, apps were plentiful and there was no intermediary.

<comment><USER26> And widely used by millions of people?

<comment><USER27> Yes, several million Treos alone were sold, and the Palm ecosystem was much larger than just the Treo line. [http://blog.treonauts.com/2006/03/sales_double_ov.html](http://blog.treonauts.com/2006/03/sales_double_ov.html)

For a number of years, Palm OS was the dominant mobile ecosystem, with sales almost double of its main competitor WindowsCE.

<comment><USER26> Several million devices sold ≠ several million people buying software for device.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER28> I really hope this encourages other programs like Sony or Microsoft to open up their developer programs more. Last time I looked into, it was a nightmare to try to get started up with Sony.

</comment><comment><USER29> I signed up.

</comment><comment><USER30> How about something more interesting like the Pokemon Go developer program or API ? Now that sounds more of a win-win.

Developers are interested, and gamers are interested in more features for Pokemon Go. Does anyone have the contemporary sales records for 3DS and Wii U?

<comment><USER31> I would personally love to see a Minecraft developer program. I was hoping Microsoft would have released one by now.

<comment><USER30> That would be stellar. I've met some developers in my community who would be very interested in that

</comment></comment></comment><comment><USER32> Nintendo just moves so slowly; everybody has been telling them for years to just stop developing subpar HW with gadgety features nobody wants and focus on creating mobile games. Pokemon Go alone will probably make more money than their whole last generation; imagine a mobile Zelda game (drool)!

<comment><USER33> Mobile games are a poor replacement for the experiences possible on dedicated gaming hardware, the control schemes for mobile games are generally sub-par for action-focused games.

<comment><USER32> I agree (and like my DS), but the vast majority of people will never game on dedicated handheld in their lives, and that's the market that exists.

<comment><USER34> So the solution is to abandon the hardware market and make $0.99 mediocre mobile games instead?

<comment><USER35> The PC market contains a more comprehensive picture. There are plenty of "bad" yet profitable F2P PC MMOs. There are also plenty of respected premium games on Steam. F2P dominates the mass markets, but premium still captures the attention of the core audiences and enthusiast press. You don't develop for both - you target one or the other. They want different things. Relative to the size, average wealth and tastes of the market, premium now acts as the "luxury good", free is the "normal good", and generic knockoffs that litter app stores are the "substitute good". That's the result of having a race to the bottom through digital distribution - mediocre premium games fade from view in an instant, well-marketed ones continue to do gangbusters business.

Console hardware preserves some role here in that it still offers the "best" premium experience, on average. PC games let you tinker with the settings more and add mods, but the lead platform for new, big budget games is usually console, and that includes portables. Plug and play still matters. Big budget experiences still matter. But it's not as big a business as the market for "small" mobile games - that's just how the numbers work out.

This isn't the first time gaming has gone through a business model shift, of course. Arcade gameplay and its quarter-munching habits used to be the standard by which a game was judged. It wasn't until the 1990's that those tendencies stopped being a dominant influence.</comment></comment></comment></comment></comment>


An implementation of djb's 'redo' make replacement - <AUTHOR> http://apenwarr.ca/log/?m=201012#14

<comment><AUTHOR> The project README provides much more information: <https://github.com/apenwarr/redo/blob/master/README.md>

</comment><comment><USER2> Seems to me this is proof that you can lose an idea by telling someone about it. I hear a lot here that you shouldn't worry about telling people your ideas because ideas are worthless. I've never agreed with that.

Here we have someone who had a really great idea, did part of the work, and then told people about it. Then he sat on it and didn't release. Someone else came along, loved the idea, and wrote it from scratch in a month.

Does the original author care? Probably not. He's probably happy to see it be used. But if it had been a money-making idea, he'd be a lot less happy.

Software development is a very fast-moving field, and if you sit on your ideas at all, someone will do them instead. That's worth remembering.

<comment><USER3> The original author is Daniel J. Bernstein, a mathematics professor at UIC, who wrote an entire Sendmail replacement and an entire BIND replacement and released them both to the public domain. Monetizing ideas is not what he does.

<comment><AUTHOR> Does anyone actually know of a commercial build system that's had any success? I know commercial support is available for CMake and I expect some of the Java build systems, but they're still all under a free software license.

</comment></comment></comment><comment><USER4> Yes, it is awesome; I remember reading about redo years ago and thinking "this IS going to be awesome when released". I was trying to think of things that make, with all its legacy, does better.

The only thing I could come up with so far is when one input has multiple outputs (e.g. yacc; not quite dead, unfortunately). In gmake at least, you can do:

%.h %.c: %.y yacc ....

In redo, you'd have to have to have specific blah.h.do and blah.c.do for each blah.y file you have

The other thing is multiple ways to generate the same file; as far as I know, make can do that but then the result is ambiguous - it's actually better than redo doesn't try.

<comment><USER5> There are relatively painless workarounds for both situations.

For multiple outputs, you can just make sure that anybody who depends on %.c also depends on %.h. This is pretty easy in the case of yacc. Then the rule can just be one for creating the %.h and you'll still never be missing a build rule.

For the problem of multiple ways to generate the same file (eg. generating a .o from either a .c or a .cpp), you can solve that by simply putting the decision logic into the .do file. This is actually better than making it implicit, because you explicitly get to say exactly which priority order to use in case both .c and .cpp exist. Make would silently pick one or the other (after also wasting time evaluating a bunch of other irrelevant rules, like ones for .pas files), which is no fun when you're debugging.

<comment><USER4> Thanks (both for the reply and for redo! oh, and for bup and sshuttle!)

The multiple-output solution is not very painful, but is kind of error prone, which stands out as redo is otherwise extremely clean, simple and robust. Perhaps something like "yytab.h_and_yytab.c.do" in the filename could work?

Quoting myself: > it's actually better than redo doesn't try.

This was a type. I mean tot say "actually better _that_ redo doesn't try", which is what you were saying too.</comment></comment></comment>


Ask HN: Common for startup winding down to not even refund stock options money? - <AUTHOR> <comment><USER2> By "stock options money," do you mean the price you paid to exercise options? If so, then yes, it's totally normal. No bankrupt company would pay out money to shareholders. The point of exercising options is to accept the risk and reward of ownership, and one of those risks is that the shares can become worthless. For that reason, many people exercise immediately prior to selling (sometimes causing their gains to be treated as short-term capital gains).

If you don't mean the price to exercise options, please clarify what you paid for.

<comment><AUTHOR> Yes, that's what I meant.</comment></comment>


Hutter Prize: Compress a 100MB file to less than the current record of 16 MB - <AUTHOR> http://www.hutter1.net/prize/index.htm <comment><USER2> The author, Marcus Hutter, created the "Hutter Prize" [1] that offers a C50,000 prize to persons who can compress 100Mb of a Wikipedia file to under 15Mb.

From the prize site:

        This compression contest is motivated by the fact
        that being able to compress well is closely
        related to acting intelligently, thus reducing
        the slippery concept of intelligence to hard file
        size numbers.

[1] [http://www.hutter1.net/prize/index.htm](http://www.hutter1.net/prize/index.htm)

<comment><USER3> I might be missing something here. Where does intelligence come in? On any given deterministic computer platform, there is a finite number of 15MB executables. And there is a finite number of 100MB text files. But the second number is much larger than the first, and thus not every 100MB text file has a 15MB executable that outputs it.

Of course, maybe we can find a 15MB executable that outputs the specific Wikipedia file he's asking for, and there might be clever ways to search for or construct that executable on a specific computer platform, but it doesn't strike me as some particularly generalizable sense of compression requiring intelligence.

<comment><USER4> He has a book on "Universal Artificial Intelligence" , that defines what he considers AI and then solves it. The only catch is that it relies on Kolmogorov complexity, which is incomputable.

The Kolmogorov complexity of a string is (loosely) the size of the smallest possible Turing machine that will output that string when run. So a string with 1000x "a" has a lower complexity than a random string of length 1000.

He sees GAI as a system that, given all its input up to now (from sensors and the like) and some value-function that defines the goal we're trying to reach, takes the action that has the highest expected value of the value-function. It's hard to give a better definition of intelligence in a completely general sense: given all input, choose the most likely best action.

That requires some guessing about the future: given all this input so far, for all possible next inputs in the next time step, what is the likelihood of each.

And his answer is: the likelihood is correlated with the Kolmogorov complexity of the sequence of all inputs so far, plus the possible future input we're currently considering. The idea is that there is information in the inputs so far, and the sequence that best uses that has the lowest Kolmogorov complexity and is most likely to occur. If we've, seen 999 "a" s, we expect another one. If we've seen a car-shaped object slide left to right on previous camera images, we expect it to continue its movement. If the input so far is completely random then every possible future is equally likely. Et cetera.

Given that, it becomes possible to calculate the value function for every combination of possible action and possible next sensor input, and the AI can know what to do.

Except of course for the detail that this is (wildly) incomputable.

But what is somewhat correlated to Kolmogorov complexity? _Compressibility_.

So that is why Hutter is interested in better compression algorithms.

All this is very loosely stated from memory, I was interested in this stuff over a decade ago...

<comment> 0-_-0 Why aren't you interested anymore? We're getting closer to actually doing what you just outlined.

<comment><USER4> I got a wife and kids so have no free time anymore, and nowadays I feel there are far more important problems than AI in the world (climate change, huge loss of biodiversity, cheap very effective propaganda).

</comment></comment></comment></comment></comment><comment><USER5> Thread from 2014: [https://news.ycombinator.com/item?id=7405129](https://news.ycombinator.com/item?id=7405129)

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

</comment><comment><USER6> "as a path to AGI" anyone else disagree with this? Creating a highly efficient compressor seems very much not AGI

<comment><USER7> All something like GPT-2 is, is a text compressor, a model for an arithmetic encoder specifically. It predicts the probability of the next token conditional on a history. You can directly measure the 'bits per character'/'perplexity' as a measure of (compression) performance, and that is typically how these language models are evaluated: eg [http://nlpprogress.com/english/language_modeling.html](http://nlpprogress.com/english/language_modeling.html) [https://paperswithcode.com/task/language- modelling](https://paperswithcode.com/task/language-modelling)

The Hutter dataset is included, incidentally, and the top is a Transformer-XL (277M parameters) at 0.94 BPC. Does all of that seem 'very much not AGI'?

<comment><USER8> Yes, it does not at all seem like AGI! You've explained succinctly why the GPT2 result is maybe not on the road to AGI.

<comment><USER7> Language models trained in a predictive fashion achieve ever closer to human compression rates (humans would only get ~0.7-0.8 BPC on Hutter), and are responsible for not just the creepiest & most realistic text generation to date but also setting SOTAs across all language-related AI benchmarks like SuperGLUE, designed to test language understanding and real-world reasoning, or chatbots. If that has nothing whatsoever to do with progress towards AGI, we'll just have to agree to disagree.

</comment></comment></comment></comment><comment><USER9> Whenever new compression algs come up I can't help but think they're cheating with their dictionaries by pre-defining most common words and character sequences, such as html tags. I would wonder if it's more ideal for human language to simply have the best dictionary. Perhaps even a negotiation on both ends to define what that dictionary is. If browsers had an efficient dictionary of all English words and phrases, compression would seem to tiny.

<comment><USER10> In this competition, and in similar competitions, the size of the binary used to decompress is taken into account. If you wanted to use a dictionary, you would need to pay for it in binary size. In this competition, the file must be self-decompressing.

Dictionaries are powerful tools when compressing small data. But once the data is large enough they stop mattering so much. See the dictionary compression section of [https://engineering.fb.com/core- data/zstandard/](https://engineering.fb.com/core-data/zstandard/).

</comment></comment><comment><USER11> I have a concept I have explored a bit but has yet to yield a positive response (I have not experimented long enough to come to any conclusion):

Can you add text to a string of text to make the compressed string shorter?

I suppose you could call it "compressor hinting" and it would be specific to the compressing algorithm. The added text would be tagged through an escape sequence, so it could be removed after the decompressing stage.

My naive approach is to add randomly generated hints to at randomly chosen location and then gzip/ungzip. I haven't had success yet. I think that the potential is limited by the expressiveness of the compressor's "instruction set" - ie - can it understand generalized hints.

<comment><USER12> There are some compressors (zstd is the one I'm thinking of) that accept "dictionaries", which are meant to be produced from datasets similar to what you're going to compress; I would guess they contain something resembling frequency tables. [https://github.com/facebook/zstd](https://github.com/facebook/zstd) has some description but doesn't explain precisely what the dictionary contains.

<comment><USER10> Zstd's dictionaries contain two things:

1\. Predefined statistics based on the training data for literals (bytes we couldn't find matches for), literal lengths, match lengths, and offset codes. These allow us to use tuned statistics without the cost of putting the tables in the headers, which saves us 100-200 bytes. 2\. Content. Unstructured excerpts from the training data that are very common. This gets "prefixed" the the data before compression and decompression, to seed the compressor with some common history.

Dictionaries are very powerful tools for small data, but they stop being effective once you get to 100KB or more.

</comment></comment></comment><comment><USER13> I'll have to give this a go. I'll probably fail miserably but it sounds like fun. Related: [1] Here is my (sophomoric) attempt at a compression algorithm, and [2] here is the blog post I wrote about it.

[1] [https://github.com/zelon88/xPress](https://github.com/zelon88/xPress)

[2] [https://www.honestrepair.net/index.php/2019/03/08/xpress- an-...](https://www.honestrepair.net/index.php/2019/03/08/xpress-an- experiment-in-data-compression/)

<comment><USER14> Have you run it on the competition dataset? What's the size of the executable + compressed data?

<comment><USER13> I'm not sure. Currently the compression variables are somewhat inefficient. I've compressed similar files down to about 17mb using hardcoded variables but I've yet to stumble across one that will reliably compress a variety of data. I was hoping to test it enough to come across patterns that would enable me to develop heuristics, changing the variables according to different input file characteristics. This is simply extremely time consuming. I have a non-open version of a listener for server applications that I've sort of moved my testing over to since I created the client compressor/extractor above.

</comment></comment></comment><comment><USER15> not updated in a while, there are better results (14,838,332) noted here [http://mattmahoney.net/dc/text.html](http://mattmahoney.net/dc/text.html)

<comment><USER16> Looks like it shaved off half a percent total size but takes 7 times as long to run.

<comment><USER15> and reading compressor description it seems to be a hand written version of mentioned somewhere above GPT-2, with hard coded English language model as one of the heuristics

</comment></comment></comment><comment><USER17> A few years ago this was trending on hacker circles [1]. This repo is obviously a joke, but I always wondered if it could be taken more seriously and made into something cooler. Assuming that Pi is normally distributed, then every potential 1kb chunk of a file would be in too.

I tried programming this idea very briefly a couple years ago but I got pulled away for something else.

[1] [https://github.com/philipl/pifs](https://github.com/philipl/pifs)

<comment><USER18> I imagine the BigInt index that points to the starting digit for your data would take more space than the data itself. Here is an example in julia:

        julia> setprecision(BigFloat, 10_000) do
                   findfirst("123","$(BigFloat(pi)))")
               end
        1926:1928

I.e. the string "123" starts at index 1926.

On the other hand, this type of "encoding" always fun to think about. I would suggest reading "Permutation City" by Greg Egan if you are amused by this.

<comment><USER19> > I imagine the BigInt index that points to the starting digit for your data > would take more space than the data itself

Assuming optimal conditions (i.e. optimal randomness), you can expect that as many pieces of data will have pointers smaller than them, as pointers bigger than them; you can't win that way necessarily, only in some cases.

But maybe if you can find two 'opposite' algorithms, such that for any data where the pointer is larger with the first, it's smaller in the second...

(From what I know of information theory, the extra bit you have to use to specify which algorithm to use will outweigh all savings, but it's still fun to think about.)

<comment><USER18> I doubt that... You are comparing a random variable (the size of the data) to a sum of random variables (the index of the data). Thus I would expect the index to be greater than the size... But I am fairly uncertain.

</comment></comment></comment></comment><comment><USER20> That's easy. Just need to use Pied Piper's middle-out algorithm.

</comment><comment><USER21> More interesting would be a semantic compressor, one that didn't necessarily return the exact words in the corpus but that would turn a small amount of compressed data into a document with very similar meaning.

E.g., "Because trees tend to have a low albedo, removing forests would tend to increase albedo and thereby cool the planet" is a sentence from the file that would need to be compressed. It should be acceptable for the decompressed text to read, "Eliminating large groups of trees would improve surface reflectivity and provide support for a planetary cooling trend," or to employ any number of similar phrasings.

Any form of AGI arrived at through Hutter's exercise would be more akin to the intelligence shown by an eidetic person when they recite the telephone book, and computers are already good at that.

<comment><USER22> Given enough time and compute, an AGI could enumerate all possible ways to say the sentence in your example, and then store a number representing which sentence is the exact same one as the input.

That number will be much smaller than the text of the sentence.

<comment><USER21> That number would have to specify one of all possible sentences, though, not just one from the subset in question. I'd assume it would be longer in that case.

</comment></comment></comment><comment><USER23> I thought of a potential loophole. What about a non-deterministic extractor? Let's say you can make your program smaller by having only a 1% chance of extracting perfectly. Just submit the program (for an expected) 100 times and claim your prize.

<comment><USER24> Through the magic of information theory, I can tell you that this particular trick will save you log2(100) = 6.6 bits. Probably not enough to make a difference.

<comment><USER23> I see. You are right.

</comment></comment></comment><comment><USER25> Alexander Rhatushnyak -- the first, second, third and fourth winner of the Hutter prize -- is the main contributor to JPEG XL lossless mode. Perhaps we all will eventually get practical benefit from his ability to build amazing compression solutions.

</comment><comment><USER26> Since it's about compressing one specific sequence of bytes, and compression time/cost doesn't matter - only decompression - wouldn't finding a set of [neural network inputs + weights + processing code + error correction] (I think in the direction of GANs or auto-encoders) be a way to have a high chance of finding improvements? Not 100% sure it would be in spirit of the contest, and if the cost of training would offset the reward...

<comment><USER7> A fully NN solution (as opposed to using a light sprinkling like all competitive solutions do) requires big binaries for the most part, while an arbitrary program can easily memorize exact sequences to find repetition while using a tiny NN for some finetuning of predictions. A pure NN solution like a Transformer-XL _does_ turn in the record-setting performance on natural language datasets including WP... unfortunately, the required NN model sizes alone tend to be larger than the entire uncompressed WP corpus here, and so have zero chance of ever being the minimum of model+compression. (An observation which I think supports the idea that the Hutter Prize has long outlived its intended use for measuring progress towards AGI; it's now just sort of a 'demo scene' version of AI benchmarking, testing intelligence within extreme constraints of sample efficiency/compute, rather than a true useful benchmark.)

The fact that small compressors like gzip or zpaq do so well at small data/compute but then can't compete as you scale up to tens or hundreds of gigabytes of text (amortizing the cost of those fancy NN models) can be considered a version of the Bitter Lesson: [http://www.incompleteideas.net/IncIdeas/BitterLesson.html](http://www.incompleteideas.net/IncIdeas/BitterLesson.html)

<comment><USER27> The bitter lesson seems to be striving for the wrong goal. Replicating human performance will at best give you human performance. Humans are incredibly inefficient. They require multiple orders of more computational resources just to match a machine. Since we do not have an abundance of computational resources, trying to replicate humans will always result in inferior results than simply running conventional algorithms.

<comment><USER7> Why then do systems following the bitter lesson like AlphaZero strongly outperform humans? (Hint: it involves scaling.)

</comment></comment></comment></comment><comment><USER28> This test maybe should not focus on the output being byte-identical to the input file, but to be structurally identical. It's an XML file, with another semi-structured language inside the text nodes. There's opportunity to utilize that fact.

</comment><comment><USER29> I can compress it to 0b! With a decompressor that will be around 100mb.

<comment><USER30> Unfortunately this seems to be foreseen, the decompressor size is included in the measurement.

<comment><USER16> On a more serious note, I think his can still be gamed a little bit.

For instance, DEFLATE has default variable width encoding tables built in based on letter frequency of the English language as measured some time ago. If you use an algorithm with any kind of defaults those count against the cost, but they don't necessarily cost _more_ to tune it for a solitary input.

<comment><USER31> DEFLATE compressed data consists of blocks. Each block can be either uncompressed, or compressed with a pre-defined Huffman table (the variant mentioned in the parent comment), or compressed with a dynamic Huffman table. Many DEFLATE compressors would consider all three options (at higher -j values) and choose the best. So, one does not need to tune DEFLATE to get the advantage of dynamic Huffman tables. And any kind of arithmetic encoding (or the new hotness, Assymetric Numeral Systems) would do a better job.

For a competition like this, all simple approaches have probably been tried already. The current leader has been tuning their approach for 5 years: [http://mattmahoney.net/dc/text.html#1159](http://mattmahoney.net/dc/text.html#1159)

</comment></comment></comment></comment><comment><USER32> Do you think he would notice if the test machine downloaded a ~100MB file from the web?

<comment><USER33> Can't he just disable the Internet interface?

<comment><USER27> It's not written in the restrictions so it wouldn't be fair.

<comment><USER34> > Programs must run without input from other sources (files, _network_ , > dictionaries, etc.) under Windows or Linux without additional installations.

</comment></comment></comment></comment><comment><USER35> Right click, create shortcut, 4kb

<comment><USER36> Reminds me of this one-time a girl at school had copied a shortcut to a DOC file onto the floppy-disk and submitted it at school.

The teacher had a hard time explaining shortcuts to her. The girl kept insisting that the PC at school was broken as the shortcut worked in her machine at home.

<comment><USER37> What I hope really happened is that the savvy student bought herself an extra day to complete the assignment!</comment></comment></comment>


Boosting internet speed in rural Britain - <AUTHOR> https://medium.com/@peternixey/how-to-get-fast-internet-in-the-uk-countryside-857c68d7dcec <comment><USER2> TLDR; we use 4g</comment>


YouTube terminates 'CraigTube' – 14yo channel, 621 videos lost - <AUTHOR> https://www.youtube.com/watch?v=7zzXWeevHE0 <comment><AUTHOR> Channel stats for the terminated channels:

[https://socialblade.com/youtube/user/craigtube](https://socialblade.com/youtube/user/craigtube)

[https://socialblade.com/youtube/channel/UC40wiRfP8u2DrVvUm_V...](https://socialblade.com/youtube/channel/UC40wiRfP8u2DrVvUm_VGcqw)

Videos from other youtubers complaining about the termination:

[https://www.youtube.com/watch?v=valkUvJElgo](https://www.youtube.com/watch?v=valkUvJElgo)

[https://www.youtube.com/watch?v=o7pcL7VgAZE](https://www.youtube.com/watch?v=o7pcL7VgAZE)

[https://www.youtube.com/watch?v=1Irp-5sw74s](https://www.youtube.com/watch?v=1Irp-5sw74s)

[https://www.youtube.com/watch?v=B3pQ5YuqzOI](https://www.youtube.com/watch?v=B3pQ5YuqzOI)

[https://www.youtube.com/watch?v=akuBxQc1ubQ](https://www.youtube.com/watch?v=akuBxQc1ubQ)

Video from Craig himself:

[https://www.youtube.com/watch?v=7zzXWeevHE0](https://www.youtube.com/watch?v=7zzXWeevHE0)

You can see he's putting a brave face on it but really he's totally gutted :-(. It appears the channel was terminated with no specific reason given, no feedback from or chance to redress any problems.

This was mentioned in the recent topic about the deletion of an electronics channels, but I thought it deserved a topic of it's own.

<comment><AUTHOR> CraigTube and VinylTV is back!

[https://www.youtube.com/watch?v=saokvQeZwzI](https://www.youtube.com/watch?v=saokvQeZwzI)

[https://www.youtube.com/watch?v=-yVrBZGT4mw](https://www.youtube.com/watch?v=-yVrBZGT4mw)

No explanation or apology it seems, but at least the channels are back. :)

</comment></comment><comment><USER2> We've had a Robinhood suicide, how long before a Youtuber? Termination without reason is a psychological attack and Google and Youtube must be held accountable.

</comment><comment><USER3> 'We've had a Robinhood suicide, how long before a Youtuber?' Happened many times before...

'Termination without reason is a psychological attack and Google and Youtube must be held accountable.' No it is not and no they do not.

<comment><AUTHOR> Coulda given the old guy a heart attack, he looked so crushed...</comment></comment>


Python Stuff - <AUTHOR> http://undefined.org/python/

<comment><USER2> Beside one JSON interpreter from 2011 all the stuff there is 4 years and older. Not the most actual source for Python on Mac...</comment>


Hosting and Deploying Node.js Apps on CentOS 7 - <AUTHOR> http://www.terlici.com/2015/04/20/hosting-deploying-nodejs-centos.html

<comment><USER2> Why not use a template to create multiple instances of the service e.g. firstname.lastname@example.com</comment>


Paul Graham is Today's Prius - <AUTHOR> http://email@example.com/articles/indiv/2006/001255.html <comment><USER2> Anyone know if there is a video/mp3/text version of that talk?

We seriously need a law requiring that all PG talks be televised and made publicly accessible.

This information wants to be free even more than other information.

<comment><USER3> Real-world RSS feed of PG? It's a little known fact that about a quarter of this funding session's applicants are developing various software to do just that. ;)

<comment><USER4> PaulGrahamEatsBreakfast.com?

</comment></comment></comment><comment><USER4> This article has given me the idea for the ultimate startup. Creating an online personal ads search engine to find dates for similarly tagged pez dispensers from within their social network.

Seriously though, is there a word for noticing something everywhere you look right after learning about it?

<comment><USER5> Yes, actually, there is a word for that--sort of. It is essentially a special case of confirmation bias. Confirmation bias is a concept from cognitive psychology; basically, the human mind heuristically prefers data which support (confirm) its nascent inferences. In this case, the inference being developed is roughly the importance/prevalence of the word.

So, there isn't a word for this precise phenomenon (to my knowledge), but you're welcome to coin one. If there's one thing cognitive psychology loves, it's terminology. (Don't get me wrong, cognitive psych is delightful, but it loves its lingo.)

N.B. Related phenomena are the cocktail party effect, and, in the large, figure-ground phenomena, and selection bias. EDIT: And priming. Thanks to python_kiss. (Wikipedia has decent articles on these things, but if you're really interested, go to the library and get a good psych book.)

<comment><USER6> +1 for the explanation. "Priming" is another term that describes this phenomenon. From wikipedia: Priming in psychology refers to activating parts of particular representations or associations in memory just before carrying out an action or task. In a neurological view priming can be seen as the activation of clusters of neurons. An interconnected cluster is surrounded by other clusters that are more or less connected with each other...So when the cluster that represents the concept of "flower" is activated, particular clusters will be more activated then others (i.e. kinds of flowers).

<comment><USER5> Thank you! I had the nagging feeling that there was a more precise bit of terminology that I was missing. You've gotten it off the tip of my tongue. As you pointed out, though, priming properly refers immediate-time phenomena. Whereas priming arises from manipulation of operational memory, confirmation bias arises from deeper heuristic phenomena.

</comment></comment></comment></comment><comment><USER6> "But, as Paul notes, the easiest way to make something that people want is to make something that you want. Yahoo! started out as a directory of Jerry and Dave's favorite links. Movable Type was born out of Mena's need for a better way to talk about herself. Jonathan started Friendster to find a girlfriend. Zuckerberg started FaceBook to find a girlfriend. Joe and Alon started JDate to find Jewish girlfriends. Ted started Dogster to find his dog a date. If you build something you want, chances are pretty good that someone else will want it as well."

Well said! :)

<comment><USER7> The examples given also support JWZ's theory of social software: software exists to get people (or dogs) laid.

</comment></comment><comment><USER8> I'd rather have a Tesla Roadster.</comment>


How to not recruit someone - <AUTHOR> http://blog.rafael.pt/2014/11/02/how-to-not-recruit-someone.html

<comment><USER2> The first mistake is accepting a connection on linked to someone you don't know •professionally*. Once you accept a connection to a recruiter you now have 500+ secondary connections to people that you have nothing in common with - except that you both once looked for a job.

[http://www.brelson.com/2011/05/how-recruiters-are-posing- a-t...](http://www.brelson.com/2011/05/how-recruiters-are-posing-a-threat-to- linkedin-even-though-they-dont-mean-to/)</comment>


Startup Founders Are C2C - <AUTHOR>

I have been thinking this ever since I met Kashyap of Inkfruit at the first Startup Saturday I attended in February 2009. Apparently the founders of Inkfruit have titles like 'Maharaja' and 'Nawab' instead of CEO and that made me think if a Startup founder should really use a CEO tag?
While it most cases it makes no difference to what business one does, but we do have people who would frown at a CEO tag used in a 5 people company.
I wouldn't care much on what a founder labels himself, but if I am to propose a title, Startup CEO's are 'C2C' (Clerk to CEO). That's what you really do. The day you have a CEO tag, you are probably a mid-sized company, not a startup anymore.
PS: You can always act like a startup. No matter how big you are. <comment><USER2> Unfortunately human psychology dictates that all human organisations must have some form of hierarchy, and 'CEO' is a label/shorthand for the person at the top of the hierarchy.

This is unfortunate, as having a CEO assumes having a board of directors which many smaller startups do not.</comment>


Solving the world's hardest unsolved maths problems - <AUTHOR> https://nottingham.ac.uk/news/pressreleases/2015/march/solving-the-worlds-hardest-unsolved-maths-problems.aspx

<comment><AUTHOR> Context:

The universities of Nottingham and Oxford have been awarded the largest mathematics research grant ever awarded (£2.3m) to bring together a 'maths dreamteam' to work on the generalized Riemann Hypothesis and the conjecture of Birch and Swinnerton-Dyer.

I'm not a mathematician, but I understand the BSD conjecture is implicitly involved in EC crypto [0], although I'm not sure what practical effect it would have if proofs were found.

Any math-ers out there able to give us a layman's briefing?

\--

[0] - [https://en.wikipedia.org/wiki/Birch_and_Swinnerton- Dyer_conj...](https://en.wikipedia.org/wiki/Birch_and_Swinnerton- Dyer_conjecture)</comment>


Simulating any system date for TDD by library interposing - <AUTHOR> http://irekjozwiak.com/entry/2010/01/10/Testing-Date-Related-Code-With-Library-Interposing.html <comment><USER2> Intercepting system calls via LD_PRELOAD is a hugely useful approach for many situations. Got a binary-only piece of code that's creating ghost temp files you want to poke at? Intercept unlink(). Need to quickly (and dirtily) hack an executable that isn't designed for concurrency into sharing a file with other instances of itself? Intercept open().

On the flipside, when trying to do things as securely as possible, never blindly trust dynamic linkage into library functions: attackers can and will use such techniques against you. Reflections on Trusting Trust[1] becomes scarier when you start thinking about all the venues you open with dynamic library linkage.

[1] <http://cm.bell-labs.com/who/ken/trust.html>

<comment><AUTHOR> This insecurity of dynamic linkage is a very interesting topic and I never considered it seriously before. Thanks for pointing it!

</comment></comment><comment><USER3> I wish we had something like this on my last project. On my last project, there were two separate systems for determining the local Timestamp. One of them was based on the time from the local machine's clock. The other took time from a central mainframe/transaction processing system. (Call these system-A and system-B) We really could've used something like the article proposes for _both_ systems.

Here's the thing: The application would calculate the timezone based on system-A, then use the time from system-B to do a lookup into a GMT-based table using system-B's time. All well and good, until the testers tried to test calling outside allowed hours by changing their local system clocks. This mess resulted in trying to look up entries in the table for timezones the middle of the Pacific. Boom!

The worst part? Trying to explain to the testers how this was an inherent flaw in the legacy system and not a result of the upgrade. (Yes, I would've changed it if I were allowed to.)

</comment><comment><USER4> I've done this many times in both unit specs and Cucumber (what it looks like he's targetting), and I manage to get away with defining the Given step as stubbing Time.now. No need to get hairy with C at the low level.

<comment><USER5> He's not targeting cucumber, he's targeting GHC. It's much easier in Ruby than in Haskell.

</comment></comment><comment><USER6> That feels even _more_ wrong for Haskell. I think that the Haskell way really is that you have pass the function in. Probably the worst thing about Haskell is that it _aggressively_ has no concept of a global environment.

That said this may well be the most practical approach; "the Haskell way" and "practical" are not always exactly buddy-buddy. I'm just responding to the question of "the Haskell way".

<comment><USER2> I can see your point here, but since time is fundamentally an external datum provided by the system, in my view there's no reason to screw with Haskell's internals when you can just produce the necessary simulated environment in which your runtime lives. Moreover, by doing it this way you can use exactly the same code in testing as in production, reducing the risk of something going wrong when you change from the former to the latter codebase.

<comment><AUTHOR> I totally agree. The OP came with a great way of simulating certain states of the external environment for the purpose of tests and completely independently of the implementation. This decoupling seems uber cool.</comment></comment></comment>


Torbit Moves Towards Free To Help Web Businesses Turn Speed Into Revenue - <AUTHOR> http://techcrunch.com/2012/11/15/with-growth-surging-torbit-moves-towards-free-to-help-web-businesses-turn-speed-into-revenue

<comment><USER2> Congratulations to Josh, Jon and the Torbit crew, impressive set of customers. Love the Slideshare embedded in the article.

<comment><AUTHOR> Thanks Cameron. We're hoping to share more data in the future.

</comment></comment><comment><USER3> That's an interesting powerpoint at the bottom of the techcrunch article.

I see your argument that slower page loads leads to less engagement and higher bounce rates, and I'm somewhat skeptical - how do you know that your data isn't saying that more engaging websites are faster because they're more engaging?

If being engaging is correlated with delivering more value, they're likely more profitable and more able to invest in higher quality engineering & infrastructure than other sites. This would likely lead to decreased load times. In other words, how do you know the cause from the effect?

I think the only way to make the argument you're trying to make is to compare each website with itself when loaded slower.

<comment><AUTHOR> Sure, correlation does not imply causation. I think most of our customers are smart enough to understand that.

The engagement charts are typically broken down for each site so that they are compared with themselves. It turns out, in both cases there is a strong correlation between performance and the business metrics you care about (bounce rate, conversion, time on site, # pages viewed, etc).

</comment></comment><comment><USER4> I thought one of the last sentences was pretty interesting. I've definitely been noticing more websites with larger images - Square, Desk.com, etc. I'd love to know how that's affecting these websites and if it's worth it in those instances to give up speed for the marketing advantages that higher quality images give.

</comment><comment><USER3> What's the difference between your site optimizer and cloudflare's optimization?

<comment><AUTHOR> I can't speak for Cloudflare, but I can tell you a few of the things we've done to make Site Optimizer awesome. A big differentiator for us is our focus on browser-specific optimizations. For example, if you visit a page in Chrome we'll swap out the images for WebP versions. WebP is about half the size of JPEG but looks just as good. We've also developed a lot of cutting edge optimizations for mobile that are unique to Torbit. We're also able to leverage the data we get from Insight to make our Site Optimization service better as well.</comment></comment>


Faigy Mayer has died - <AUTHOR> https://twitter.com/search?q=%40FaigyM&src=typd&vertical=default <comment><USER2> This HN post is how I found out. She had been coming to the Python meetup group. We knew each other by name. I feel horrible. I know she was dealing with a lot from her background, but I thought she was making it ok. How horrible.

Please get help if you're depressed and thinking about killing yourself. It's not worth it. [http://www.suicide.org/international-suicide- hotlines.html](http://www.suicide.org/international-suicide-hotlines.html) 1-800-SUICIDE</comment>


Google algo change story at money.cnn.com - <AUTHOR> http://money.cnn.com/2011/02/25/technology/gaming_google/

<comment><AUTHOR> And also, a _long_ discussion thread (571 messages at the time of posting) at the WebMasterWorld forums:

<http://www.webmasterworld.com/google/4261944-15-30.htm></comment>


New Gmail un-minimalistic homepage - <AUTHOR> https://www.facebook.com/photo.php?fbid=10151660509511039&set=a.445486066038.242003.60057676038&type=1

<comment><USER2> Its not just Gmail, they started doing this with other products too. Whenever I access Google Analytics [1], even if I am already logged in, it takes me to a page with a huge picture of a person smiling where I am supposed to find a tiny button that says "Access Analytics" inorder to access my account. I can understand such marketing material for new visitors but why on earth would you force this on existing customers???

[1] [http://analytics.google.com](http://analytics.google.com)

<comment><USER3> I've repeated this many times and it's never a popular idea, but here goes: it's because they retain UI/UX designers on permanent staff, when they likely have _actual_ new work about one month in twelve, from what I gather.

This isn't an attack on UI/UX people, it is only to suggest perhaps that industry would be better structured if everyone worked at agencies that recovered an employee's yearly salary in exchange for a month of their time. No pointless work generation that hurts the masses just to hit bonus targets.

<comment><USER4> I couldn't disagree more. UI/UX design sits at the intersection of business objectives and user behaviour (i.e. what the business wants / what the users want). The idea of iterating your UI one month a year is borderline suicidal.

If you're calling it "pointless work generation that hurts the masses", there must be something dysfunctional about your past experiences with UI/UX design people / processes in the organisations you've worked in.

</comment></comment></comment><comment><USER5> Looks like there is a pattern -

New Google Analytics landing page - [http://www.google.com/analytics/](http://www.google.com/analytics/)

Or Google Hangouts landing page - [http://www.google.com/hangouts/](http://www.google.com/hangouts/)

<comment><USER6> Hangouts you would expect people to be smiling and happy, that's the product.

Google Analytics though, a bigass testimonial with random people smiling is very offputting.

</comment></comment><comment><USER7> I would imagine they a/b tested this quite extensively and have data that smiling people's faces cause whatever metric they are measuring to be at a better point than a plain login page. It'd be interesting to see how much.

<comment><USER8> I've noticed a quite a few landing pages going for the "large photo of generic smiling person" (usually female) concept in recent times. This page, healthcare.gov, basecamp.com, and many many others. Kind of amazing/sad (though not surprising) that your average human can be persuaded with this kind of gimmick.

<comment><USER9> Why is it sad ? It's a display of empathy. If anything, it's sad that some companies abuse it, but even as far as such manipulations go, at least this one provokes positive feelings instead of preying on people's insecurities and fears.

<comment><USER10> I always think of these things as security vulnerabilities. Right in your brain! And getting a patch out is... tricky.

</comment></comment></comment></comment><comment><USER11> It's a marketing page. Would it be better to just have a login form like before? As long as Gmail itself remains minimalistic, what difference does a marketing page make?

<comment><USER12> >As long as Gmail itself remains minimalistic

Unless you're using the basic HTML view for Gmail, I don't see how Gmail is minimalistic.

<comment><USER11> Care to explain how Gmail _isn't_ minimalistic?

Compared to native email apps with excessive amounts of panes, buttons, sorters, etc., Gmail is minimalistic nirvana.

[http://i.imgur.com/XiwAn8U.jpg](http://i.imgur.com/XiwAn8U.jpg)

[http://i.imgur.com/YSBK5us.jpg](http://i.imgur.com/YSBK5us.jpg)

[http://i.imgur.com/8Acgrn1.png](http://i.imgur.com/8Acgrn1.png)

vs

[http://i.imgur.com/RMg8UPY.png](http://i.imgur.com/RMg8UPY.png)

Hell, even compare Gmail today to how it used to look:

[http://i.imgur.com/fHQjL0n.png](http://i.imgur.com/fHQjL0n.png)

The new Gmail's focus on whitespace, hiding buttons that don't do anything yet (until you check things of course), the new compose panel (with ultra- minimalistic controls and send to/from fields), Google's removal of the black bar, the auto-overflow for labels, lack of borders, lack of "containers," etc. etc. all convince me of Gmail's minimalism.

Just about the only thing that isn't minimal about it anymore is the footer.

</comment></comment></comment><comment><USER13> What's with the blogspam?

</comment><comment><USER14> After moving to outlook.com, The only thing I missed is that after I signing out of it, it takes me to a landing page with a "sign in" button and some advertisement with people smiling, instead of login screen.

looks like gmail is getting worse instead of outlook getting better in this particular aspect.

</comment><comment><USER15> For a while now Google have been aggressively pursuing a marketing first approach to their product offerings, this is no different. The very fact Google have sneakily implemented ads disguised as emails into Gmail is a sign that Google are no longer a minimalistic company.

I think this is a case of someone making a big deal out of an obvious situation. Hardly an issue here.

</comment><comment><USER16> This is really similar to what Google Apps have used for a few years now.</comment>


No Chat Dating App Launches in New York - <AUTHOR> http://www.joindapper.com

<comment><AUTHOR> Dapper Makes Dates. Not Chats. New York City dating app is the first to not include a chat function.</comment>


Using Git - A Designer's Guide - <AUTHOR> http://blog.sourceninja.com/using-git-designers-guide/

<comment><AUTHOR> Our Designer just wrote this comment, but since he is a green account (newb) he can't post it. He will probably use my account for responses:

Hey guys, being a designer I thought other designers might benefit from a super simplified approach to git. Let me know what you think or if you have any other tips for a less technical crowd. Thanks!</comment>


Show HN: I Found a Simple Exploit for Bitcoin Hero - <AUTHOR> So I found this game recently called Bitcoin Hero. It's an interesting little game that lets you "paper trade" a few cryptocurrencies. It's pretty simple.
https://bitcoinhero.me
The downside is that no matter how much capital you have, you are still limited to a certain Amount and Leverage.
After a while, I decided to see how the top players on the leaderboard were making their trades. I discovered that they seemingly made trades far beyond the limit that the game allows.
So I peeked into the JS and after a couple of moments I realized that you could change the Amount to trade by simply changing the HTML value of the "#amount" element.
$("#amount").html("$ 100000");
It's not really cheating because you can easily lose your 10k USD if you set the Amount of "100,000" and have a Leverage value of 10.
Either way, now you know how the top scorers got to where they are. So, I'll see you at the top of the list! <comment><USER2> Looks like a big fat scam to me

</comment><comment><AUTHOR> I've tried increasing the value to levels beyond a million and then I get a message from Bitcoin Hero saying "Oh, really?". Needless to say I'm no longer in the top 10. :D</comment>