Tips on travelling with a laptop - <AUTHOR> http://successfulsoftware.net/2009/04/13/travelling-with-a-laptop/

<comment><AUTHOR> Laptop bags, laptop locks, encryption software, back-ups, mobile Internet access and everything else you need to know about running your online business on the road.

<comment><USER2> I would argue that simply encrypting the "sensitive" files leaves too much room for human error. Yes, the majority of crooks would not spend a lot of time looking for such material, but in the off chance they do, would you really want your entire business destroyed? Full disk encryption with a 20+ character password is the only way to go for laptops, in my opinion.

Also, if you're running windows, full disk encryption actually speeds up most tasks. On my linux box, boot time slowed down, but 200 MB random reads (typical for starting large applications) were actually only slightly slower:

      before: Timing buffered disk reads:  246 MB in  3.00 seconds =  86.24 MB/sec
      after:  Timing buffered disk reads:  246 MB in  3.00 seconds =  81.96 MB/sec

<comment><AUTHOR> The truth about encryption:

<http://xkcd.com/538/>

<comment><USER3> The alt-text speaks the truth.

</comment></comment></comment></comment><comment><USER4> >>> It turns out that most of the New Zealand ISPs have restricted SMTP access to prevent spam.

Is this true? Do New Zealand ISPs block all connections to SMTP servers? If so, this is quite outrageous and would solve nothing. Relaying email and connecting to an SMTP server that generates email messages are _completely_ different things. Besides most decent SMTP servers get client connections over SSL these days which would make them harder to block.

<comment><USER5> Heck, I know quite a few US ISPs that do that - as well as some WiFi hotspots. Usually it's just a block on outbound connections on port 25, and you can get around it by using a different port (587 typically works, and is semi- standard).

<comment><USER6> Another workaround is to forward your mail to Gmail, so you can have the choice of using your mail client or Gmail. At our company some people did this and ended up dropping their native client completely.

<comment><AUTHOR> Won't it look as if it come from @gmail.com instead of @mydomain.com? If so, that isn't ideal.

</comment></comment></comment></comment><comment><USER7> mobile business is going to force tax reform. what incentive will people have to run a profitable business in a country with crappy tax laws when it can easily be run off a laptop from anywhere?

<comment><USER8> Their entire social network they've built there.

<comment><USER7> people currently move from out of state to silicon valley, this will be the logical extension.

</comment></comment></comment><comment><USER9> linkbait spam</comment>


The New MacBook Pro: Unfixable, Unhackable, Untenable - <AUTHOR> http://m.wired.com/gadgetlab/2012/06/opinion-apple-retina-displa/ <comment><USER2> I'll take a lighter, cooler laptop over a "hackable" one any day, if that's the tradeoff.

You notice things like weight, fan noise, and heat every day, but it's easy to get hung up on the idea that someday you might need to swap hard drives maybe. Maybe I'm just lucky or gentle, but I got nine years of life out of my TiBook and couldn't be happier with the Air that replaced it.

</comment><comment><USER3> It is worth pointing out that this guy is biased. His business, iFixit, is based on third party repairs. If this trend towards un-repairability continues it will threaten his business.

For the rest of us, who cares if third parties can't repair our MacBooks, just take them to Apple. I'd rather have thinner and more integrated hardware.

</comment><comment><USER4> reprint of <http://news.ycombinator.com/item?id=4115942>

</comment><comment><USER5> I'm not a fan of the new MacBook, but this article is stupid.

Too much exaggeration, even changing facts.</comment>


Ask HN: What are your favourite (exceptional) movies?  - <AUTHOR> Hi HN,
I find it difficult to watch movies that lack quality. On the same note, I enjoy watching movies and thus end up frequently disappointed.
Please list your top 5 movies of all time. Genres don't really matter, provided you are willing to qualify the movie with 'exceptional'. The order is immaterial.
Granted, quality is a subjective measure, but it is assumed that the intersection of our definitions of the same will provide some sort of list for fellow hackers who are looking to entertain themselves.
Also, please include one movie in the list which you consider to be a proper mind-fK. You can mark it with an (M).
Thanks :-) <comment><USER2> I like that you ask for mindfck movies. They definitely hold a special place in my heart. A lot of the entries here have been very sci-fi. I tend to like more historical or present-day dramas with great acting that expose some sort of undesirable human behavior, but I snuck a sci-fi movie on the list ;). You can't take the nerd out of the cinephile!

There Will Be Blood - No "great movie" list is complete without a movie that stars Daniel Day Lewis. Go watch all his movies if you want to see what it's like to take acting to the extreme.

(M) The Spanish Prisoner - Probably my favorite suspense movie, along with a Hitchcock or two like Vertigo or Rear Window. This is one of David Mamet's best, in my opinion. All these random things happen in the beginning of the movie that make you question why they bothered mentioning them, and then the catalytic action ties it all together expertly.

Pirates of Silicon Valley - This is the lightest contribution on the list, but probably the most relevant to HN. For what it's worth, both Woz and Bill Gates have described their portrayals as fairly accurate.

Alien - Definitely plays out more like a space horror film than an action movie like the sequels, the acting and suspense is fantastic, not to mention the costume work that went into the alien on the part of HR Giger (if you want a true mindfck, skip the movies and go read his website--terrifying).

Grave of the Fireflies - I wanted to include an animated film on my list, but I really had trouble deciding between Interstella 5555 (Daft Punk's Discovery set to an anime with no talking whatsoever. Great concept) and a Pixar movie (personal favorite: Up). I went with this because I figured you've probably seen Pixar movies. Grave of the Fireflies is a super depressing Ghibli film about the aftermath of the Kobe fire bombings in WW2. The way the movie shows the horrible living conditions and bleak outcomes of the two main characters (the boy is in his early teens and his sister must be around 4 or 5--I can't recall). The movie manipulates your emotions more than any other film I've included on this list. I don't think I've ever had as strong an emotional reaction to a movie as when I saw this one.

</comment><comment><USER3> Well, since the only thing I know about you is that you're on HN, and you haven't told us what you like or don't, or what you've already watched, you're going to get a load of essentially mainstream sci-fi. But that's your own fault.

Cypher - apparently unpopular with everyone except me, but I found it a very stylish, PKD-esque exploration of identity.

The Prestige - this one you'll probably hear elsewhere. It's mostly about the lengths to which someone is willing to go to be the very best at what they do - which obviously has some relevance for the HN crowd.

Watchmen - the only movie I watch again and again. It might be different for those who lived through it, but I love the way it can effortlessly evoke a very different era, cold-war paranoia, vietnam... a real sense of change.

Children of Men - arguably this shouldn't qualify as exceptional, and there's a lot less to say about it. What it is is some very good straight-up action, and then underlying that is a tale of how people respond to the inevitability of death. It's a simple film at heart, but I found it a very moving one.

Princess Mononoke - again, a real sense of the times changing, of conflicts that have to be resolved not by returning to the status quo but by moving forward somehow. Moral complexity everywhere, with no side being outright good or evil. And a beauty to it all even amidst the violence.

<comment><USER4> Watchmen is a favourite of mine also - it has a very exceptional role cast with very unique personalities. I would give an advice to whom have not seen it yet: watch the directors cut.

</comment></comment><comment><USER5> Life Stinks

The Producers (new one, I haven't watched original)

Pan's Labyrinth - talks about serious issues but adds a fairy tale to shield audience

You Don't Mess with the Zohan - Adam Sandler movie, more silly than usual, but also takes on Middle East conflict with a positive (perhaps American) spin.

Fight Club ... deals with boredom of your average no-direction man, and how he finds a way to occupy himself.

(M) The Vanishing - from 80's not the American version (didn't see American version) <http://www.imdb.com/title/tt0096163/combined>

Overall I like silly movies, I'd list 5 Adam Sandler movies, and add 'The Animal' to them, and watch them any day of the week.

</comment><comment><USER6> "Good Will Hunting" - inspiring and heartwarming classic

"Django Unchained" - Quentin Tarantino's latest amazing film

"Indie Game: The Movie" + "Mojang: The Story of Minecraft" - the most amazing documentaries that I have ever seen

Honestly, I cannot think of any other movies that can join these four in my list of favorites. I would LOVE to see a documentary about the lifecycle of a mobile app development team's entire development process.

</comment><comment><USER7> Primer - Arguably the best time travel movie ever made. I've watched it about four times now and I still can't quite wrap my head around it.

</comment><comment><USER8> The Shining

Dead Poets Society

It's a Wonderful Life

TPB AFK: The Pirate Bay Away from Keyboard

Memento

(M) Eternal Sunshine of the Spotless Mind

And what about you? What are you favourite movies?

</comment><comment><USER9> I am trying to list some little less known movies here: 1) The Skeleton Key (I rate it as the best movie ever) (M) 2) Contact (best alien movie) 3) Flight of the phoenix 4) The Painted Veil 5) ...cant remember

</comment><comment><USER10> Off the top of my head:

The Shawshank Redemption

Empire of the Sun

(M) Donnie Darko

Artificial Intelligence*

The Godfather (parts I and II only)

*this is my "most people hated it, but I liked it" submission

</comment><comment><USER11> I've watched Cloud Atlas a couple of times. Enjoyed every second.

<comment><USER12> I ended up passing on it in the theaters, it didn't get the best of reviews. I have it in my queue though, hoping it will be a solid surprise.

<comment><USER11> It is controversial because it is complex. You actually need to be able to take in what you see which is in my opinion not true for the majority of movies out there.

</comment></comment></comment><comment><USER13> Cool Hand Luke Easy Rider Fight Club The Matrix 13 Assassins

</comment><comment><USER14> Enter the Dragon - Bruce Lee!

Happy Gilmore - Stupid but funny

Million Dollar Baby - Boxing!

</comment><comment><USER15> Gattaca. Obviously :)</comment>


Show HN: Language Evolution Simulation - <AUTHOR> https://github.com/fatiherikli/language-evolution-simulation <comment><USER3> Can you explain a little more about what you're trying to simulate and why you chose the model that you did?

Also... did you consider using known sound change processes? [https://en.wikipedia.org/wiki/Sound_change](https://en.wikipedia.org/wiki/Sound_change)

<comment><AUTHOR> Hi, Sorry for the lack of explanation. it was a fun project. I wanted to simulate agents who talking and learning new words from themselves. Each island has 12 agents, and there are gates of islands for travelling between of them. In this way, the agents can spread their words to other islands.

Edit: I'm just replacing a vowel or const on a word for sound change. It may be better with natural sound change processes. I'll work on that. Thank you!

</comment></comment><comment><USER4> It would be interesting if the words from the different islands came from existing languages, for instance (and for myself) I would put French, Portuguese and English, to have the ability to understand how they get mixed

<comment><AUTHOR> Thank you four your feedback. I'll work on that. Maybe I should remove Turkish specific characters.

<comment><USER5> You can pick words from the most common in a given language:

[https://en.wikipedia.org/wiki/Most_common_words_in_English](https://en.wikipedia.org/wiki/Most_common_words_in_English)

[http://french.languagedaily.com/wordsandphrases/most- common-...](http://french.languagedaily.com/wordsandphrases/most-common-words)

Although languages like English and French are very close and have a lot of cognates already. Maybe it's better to take languages more far apart from each other.

<comment><USER6> English and French are only distantly related. There _are_ cognates, but they're hard to recognize: hound - chien, foot - pied, four - quatre. Words you might be thinking are cognates - such as restaurant, police, etc. - <USER2> actually loan words. Some are recent, others go back to the Norman Conquest.

English is closely related to these languages (in order of closeness): Scots; Frisian; Dutch and German; Norwegian, Swedish, Danish, and Icelandic.

</comment></comment></comment></comment><comment><USER7> Nice demo! Feature request: I'd like to see the people talking, like display sentence of a random pair of agents, every 10 sec e.g. That way I would feel immersed into users discussions :)

</comment><comment><USER8> It would be more understandable and educational if your simulation had the following:

\- A way of visually indicating the divergence between languages. Minimal differences are just "accents", but more make them dialects, and yet more make them distinct languages. Perhaps use color.

\- A slider to change the frequency of exchange across islands. This would show that if interchanges were high, there would be little divergence (none if the interchanges were high enough). If interchanges were rare, divergence to distinct languages becomes inevitable. At some middle rate you get dialects but not languages.

\- Perhaps another slider to change the mutation rate.

\- Perhaps start with a small subset of a real language. This way people could click on an island and see the actual evolution, or the divergence between any two pairs. Instead showing the most used word, I'd show a sample of the same words (those with the same meaning) for each language, along with the original real language, so we could see, for example, how "tree" changed and diverged over time.

\- I'm not a linguist, but I'd think divergence ends up negatively impacting interchanges -- i.e even if you had a bridge connecting the islands, fewer people would cross it if they can't speak the local language. If this is true, divergence would accelerate over time.

<comment><USER9> > _I 'm not a linguist, but I'd think divergence ends up negatively impacting > interchanges_

I think this is true if there is a meaningful iteration between the persons.

For example, some of them get some food and some water, and they have to interchange a some of it because both need food and water. And they only can interchange it if they can talk a little (only a greeting? a minimal barter?) Else they die and are somehow replaced with new agents.

But IIUC in simulations is more simpler and the agents only bounce against each other, and the words are somewhat contagious.

</comment></comment><comment><USER10> Feature request for Etymology:

[https://github.com/fatiherikli/language-evolution- simulation...](https://github.com/fatiherikli/language-evolution- simulation/issues/2)

Someone have a few free minutes to hack this together today? Could be cool.

</comment><comment><USER8> Does anyone know of a good open-source Agent-based model simulation platform?

I want to create some educational simulations to help people understand various emergent "natural" phenomenon, such as evolution, the invisible hand of the free market, and the Matthew Effect. I want the simulations to be interactive so users can see how changing a parameters effects the outcome.

I could custom code each of these, but I'd rather us a platform, especially one in which the agent model and logic were easy to understand without being a hardcore coder, so that anyone could look under the hood if they didn't trust the accuracy of the simulation.

<comment><USER11> There's netlogo, a multi-agent modeling language. It's not quite what you're asking for, and it's not too stable, but it comes pre-loaded with at least starter code for almost every model you listed, and it's syntax is very readable.

[https://github.com/NetLogo/NetLogo](https://github.com/NetLogo/NetLogo)

</comment></comment><comment><USER12> This is really cool. I wonder if there were a way to show variances of individual agents - perhaps by calculating the difference of their current vocabulary from their native vocabulary - and altering their color as a marker.

</comment><comment><USER10> NSFW version, hehehe: [https://loisaidasam.github.io/language-evolution- simulation/](https://loisaidasam.github.io/language-evolution-simulation/)

<comment><USER13> Understandably, the results are less convincing when the original corpus is made of monosyllabic words. Maybe slightly longer swear words...

</comment></comment><comment><USER14> What happens if you start with "fuddruckers"?

</comment><comment><USER15> I was about to write my thesis on a simulation like this, agents would need to evolve a syntax to survive (not just words like in the simulation above). It truly is a fascinating subject! Never got around to building it, but still very high on my list of things I want to when I have a couple of months to spare.

</comment><comment><USER16> This fits within the scientific field of evolutionary linguistics ([https://en.m.wikipedia.org/wiki/Evolutionary_linguistics](https://en.m.wikipedia.org/wiki/Evolutionary_linguistics)).

</comment><comment><USER17> This is really cool.

</comment><comment><USER18> cool</comment>


Rethinking how the US grows beef - <AUTHOR> https://arstechnica.com/science/2017/12/making-us-agriculture-sustainable-cut-beef-eating-in-half/ <comment><USER2> I wish they'd rethink the WEIRD initialism. Much of the growth in meat demand from the US, AU, AR, BR, etc., is for satisfying demand from growing and maturing economies like China, SEAsia, Russia, etc.

Sure, the "west" got there first, but almost every country exhibiting economic vigor has seen an increased demand on animal protein.

</comment><comment><USER3> perhaps if we start pricing in the healthcare costs, the market will take care of this problem.

<comment><USER4> Healthcare costs for what? There's a lot of evidence that a high fat low carb, moderate protein diet is very healthy.</comment></comment>


Research, no motion: How the BlackBerry CEOs lost an empire - <AUTHOR> http://www.theverge.com/2012/2/21/2789676/rim-blackberry-mike-lazaridis-jim-balsillie-lost-empire

<comment><USER2> This article has been splashed on the front page the day RIM released their only major update in months, PlayBook OS 2.0. This is a big day for RIM and to push this as their #1 article, ahead of the article on the OS 2.0 update, is like kicking RIM when it is down.

I've heard folks on The Verge complain that RIM grants interviews only to outlets that cover them favorably (and so, not to The Verge). And now this. Is this a way of getting back at them?

The Verge is really young as a website (albeit influential), I love it to death and will continue to use it. But this sort of obvious bias makes me lose respect for them.

<comment><USER3> That's an unfair criticism.

It's not The Verge's job to work around RIM's release of software. The truth is that the real story is that _no one cares about the playbook_ , and The Verge's story does a good job outlining the history behind that.</comment></comment>


The Humble Programmer by Edsger W. Dijkstra (1972 ACM Turing Award Lecture) [pdf] - <AUTHOR> http://www.jdl.ac.cn/turing/pdf/p859-dijkstra.pdf <comment><USER2> A recent discussion: [https://news.ycombinator.com/item?id=11932241](https://news.ycombinator.com/item?id=11932241)</comment>


LineageOS for microG – Access Google services without closed software - <AUTHOR> https://lineage.microg.org/ <comment><USER2> From the FAQ:

Q) "Wait, on their FAQ page I see that they don't want to include the patch for security reasons. Is this ROM unsafe?"

A) "No. LineageOS' developers hide behind the "security reasons" shield, but in reality they don't care enough about the freedom of their users to risk to upset Google by giving them an alternative to the Play Services... Moreover, to further strengthen the security of our ROM, we modified the signature spoofing permission so that only system privileged apps can obtain it, and no security threat is posed to our users."

This is such a petulent attitude towards what sound like well-founded objections to the outright spoofing of Google signed apps that I'm just plain out already.

Also, using the phrase "no security threat is posed to our users" in ANY context is blindingly arrogant, and pretty irresponsible to boot.

<comment><USER3> Maybe some of us don't want _any_ kind of google services on their phone, open source or not?

<comment><USER4> That how lineage ships by default. It's a bit of a pain and many other apps (even open source ones) won't work, since google is providing the library for those apps to do things like access your location.

<comment><USER5> Programs that require Google Services just plain suck. That's like a game that only runs if you have a mouse from Logitech or a document viewer that only supports printinf if you have a HP printer. Both would just suck and be shitty, borderline malicious programs.

<comment><USER6> The problem is that Google has moved almost all Android features into Google apps.

You can't access the stepcounter directly anymore, only through Google Fit.

Most location features are only available through Google Play's location API.

You can't even get up-to-date openssl or OpenGL support in your app without Play Services.

<comment><USER7> The way they've done this basically has users begging for it though because the alternative would likely be excessive battery usage for some things and no updates for others. I'm on lineage but most people aren't fortunate enough to have nexus devices or don't know/care enough to run anything other than what comes with their device. I think moving everything possible to play services is helpful for them.

<comment><USER8> If it was about the features, they could (and should) have released these bits as part of AOSP, as free software.

Not doing so reveals there actual reason: control. Forcing every manufacturer to ship Play Services and thus being able to force various things on _their_ devices is a major financial benefit. It also ensured that Amazon or Nokia were unable to set up a commercially viable Android Fork without Google.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> I've been running LineageOS on my OnePlus 3 for a few weeks now, since the whole data collection furore. It's been absolutely fantastic and I'd wholeheartedly recommend it to anyone. Battery life has been much better and I love all the extra features in their camera app, for instance.

I'm not so sure about this though. It seems like they've disabled some very important security features. Their justification of "Lineage obviously hate freedom and are in bed with Google" doesn't sit right with me. Also there seem to be a lot of hoops to jump through just to re-enable the Play Store, which I'd consider basic functionality for any Android device.

Still, the pursuit of more freedom is a noble goal and I wish them all the best.

<comment><USER10> > Battery life has been much better

I'm guessing this is a gut feeling as opposed to any empirical data? Either way I'm curious as to why this would be the case. Unless I misunderstand the kernel is identical between LineageOS & whatever stock OS was on the device. And it's the kernel that presumably impacts most on battery consumption.

I installed LineageOS on an old Nexus 5. The stock OS on the Nexus is already pretty clean so I can't say I noticed a massive difference (although I didn't spend much time on it)

<comment><USER11> I actually tested this a little on a Nexus 5X a while back. With a clean install of a LineageOS build manually patched to include microG (before I knew about this fork), I unplugged it from the charger at 100% and left it for 8 hours without using it, at which point the battery read 98%. The same device with a clean install of stock Android from Google read 87% after 8 hours of standby after a full charge. In both cases it had good LTE signal and had no modifications from a clean install other than signing into a Google account.

<comment><USER12> It is a bit entertaining to think of Google's surveillance quantified via electricity - we can measure their intrusiveness in mAh.

</comment></comment></comment></comment><comment><USER13> While this is cool, I feel that this will always be a second class citizen at whims of Google, who can break or change their APIs any time. What would it take to provide a proper API replacement that apps can target instead of google play services ? i.e., not spoofing but providing a legit alternative. If I have a spare server for instance, can I set up a GCM like server that can relay messages instead of them going through Google ?

<comment><USER14> It's not going to be completely at Google's whim, as disabling a certain API/interface means older proper-android devices will also fail. So microg is banking on it's API interface being fine, given Google's interface, for business reasons, has to be fine.

<comment><USER15> But isn't Google auto-updating on all devices, including old ones?

<comment><USER16> Only mostly.

I don't know why. Lack of space on some phones maybe, or they could be configured to autoupdate via wifi only but never see wifi. Whatever the reason, if you use google play services, you'll see a few devices with old versions that don't update even though there is a newer version for that OS version.

</comment></comment></comment></comment><comment><USER17> I am perfectly fine with plain LineageOS and no Play Services at all. But, then, I am fine with just Firefox and some instant messaging app.

If I need other apps, I install them with Yalp store or F-droid. Lots of them run fine without Play Services (including Google Maps).

The phone is fast, the battery lasts a lot, slightly better security

<comment><USER18> +1 for not needing Play Services. I've been running a free Android, and so far every app installed has worked fine, except push notifications, but I see that as a feature—less interruptions.

Can you recommend a good free gmail client? The default email app doesn't work well with gmail -- double sends every time.

<comment><USER19> I use K-9 Droid without any issues with gmail. [https://f-droid.org/packages/com.fsck.k9/](https://f-droid.org/packages/com.fsck.k9/)

<comment><USER20> Same here, it's great. Integrates with OpenKeychain as well for the best PGP/GPG workflow on a phone.

</comment></comment></comment></comment><comment><USER21> I'm rather puzzled by all the fuss about this signature spoofing thing. As far as I can tell, the microg team has not proposed what seems to me to be the obvious solution: allow signature spoofing for system apps and their downloaded replacements only. So users _can 't_ install a signature-spoofed app unless they do it as root or using a .zip update. No risk of users clicking the wrong box or being dumb. Heck, one of LineageOS's review comments even offered this as a potential option with no meaningful reply.

What am I missing?

Edit: here's the review comment:

> Adnan Begovic > Oct 8, 2015 > > Patch Set 2: > > Also "dangerous" doesn't > limit third party apps from using it, you'd have to limit this explicitly to > system|signature if you wanted any realm of a security model.

That doesn't sound like "politics" to me. That's a spot-on reply.

<comment><USER22> Sounds like they do this: [https://lineage.microg.org/#faq7](https://lineage.microg.org/#faq7)

> Moreover, to further strengthen the security of our ROM, we modified the > signature spoofing permission so that only system privileged apps can obtain > it, and no security threat is posed to our users.

<comment><USER21> Sure, but did they submit a patch like that to Lineage OS? As far as I can tell, they didn't.

<comment><USER8> The patch was submitted, it's unfortunately not visible to the public: [https://review.lineageos.org/194562](https://review.lineageos.org/194562)

<comment><USER23> It seems like such a small one method change, in the context of forking an entire distro.

I wonder if PackageManagerService is hard coded in many places, rather than using XML dependency injection. If the latter then may it be possible to override the method in a subclass, e.g. MicroGPackageManagerService and distribute the change via a once-only installable zip?

That way Lineage OS doesn't need to break security, only downstream.

</comment></comment></comment></comment></comment><comment><USER24> I was under the impression that lineage doesn't come with this anyway and you had to flash whatever google binaries you wanted. This just seems like they've removed one step. See bullet point on Step 1. on the wiki: [https://wiki.lineageos.org/devices/cheeseburger/install](https://wiki.lineageos.org/devices/cheeseburger/install)

<comment><USER25> [https://lineage.microg.org/#faq3](https://lineage.microg.org/#faq3)

LineageOS works without the GApps, but you lose lots of (fundamental) things, like network location and GCM (push notifications). Moreover lots of apps require the GApps API to work (often the Maps API) and crash if the GApps are not installed.

</comment></comment><comment><USER26> How long did this fork exist?

I've been providing a similar fork for the Nexus 6 for a little while: [https://forum.xda-developers.com/nexus-6/development/rom- lin...](https://forum.xda-developers.com/nexus-6/development/rom-lineageos- easy-microg-unifiednlp-t3632360)

</comment><comment><USER27> What's the point? If you're using Google services, you're a slave to the mothership and they know what you're doing. So why use a different layer of middleware to access them?

I use F-Droid because I don't want to use Google services. I do miss voice dialing, though.

<comment><USER28> You're mixing up microG with OpenGApps. microG for instance can do Assisted GPS location searches, but allows you to choose your own Location Services provider, Mozilla instead of Google. It's not just a middleware to access the same Google services.

</comment></comment><comment><USER29> Finally! Until now after each LineageOS update I had to connect phone to adb, and patch with tingle or needle to re-enable signature spoofing. Great solution, shame the LineageOS devs won't just add this as an flashable zip or configurable option.

</comment><comment><USER30> This reminds me of what Linux and WINE for Linux was to MS Windows. It's a fight against a closed eco-system. I applaud them, and hope to give it a try.

</comment><comment><USER31> I wish Google would put and end to this by releasing the code for their Android services and slowly force the Android manufacturers to open source all future drivers.

Please Google, don't be evil.

</comment><comment><USER32> This sounds great but they lost me immediately as a near-complete rookie with no list of supported devices.

Maybe someone else will will find this useful: [https://wiki.lineageos.org/devices/](https://wiki.lineageos.org/devices/)

Can this properly support Google Fi and their network-switching magic? Preliminary research claims it's possible.

[https://www.reddit.com/r/Nexus6P/comments/5qusmn/lineage_os_...](https://www.reddit.com/r/Nexus6P/comments/5qusmn/lineage_os_and_project_fi_does_it_work/)

 _if you install it from the play store you need to make sure that Project Fi has all of it 's permissions granted_

</comment><comment><USER33> Why is this its own fork though? Seems in line with the Lineage mission, shouldn't they just merge in?

<comment><USER34> Apparently this requires a hole to be punched in the sandbox to allow android apps to "impersonate" other apps (by way of signature spoofing).

The lineage folks didn't want to merge it in on grounds of security concerns.

(I'm not affiliated with the project, I just read the code reviews because I had the exact same question).

EDIT: for those interested: [https://review.lineageos.org/#/c/64967/](https://review.lineageos.org/#/c/64967/) and [https://review.lineageos.org/#/c/65366/](https://review.lineageos.org/#/c/65366/)

<comment><USER35> More information: [http://blogs.fsfe.org/larma/2016/microg-signature- spoofing-s...](http://blogs.fsfe.org/larma/2016/microg-signature-spoofing- security/)

</comment></comment></comment><comment><USER36> The FAQ states I should shoot them an email to get my device added to the support list, but I can't seem to find the email address… Am I blind? Can someone point me to it?

<comment><USER35> Open a github issue or comment in here. That was obviously a point we were missing :-)

</comment></comment><comment><USER37> I guess that's more convenient than what I've been doing (manually patching Lineage using Tingle to support microG on every update :D)

</comment><comment><USER38> Anyone actually using this and can comment on the stability of various apps/services?

<comment><USER39> There is wiki page with that info: [https://github.com/microg/android_packages_apps_GmsCore/wiki...](https://github.com/microg/android_packages_apps_GmsCore/wiki/Implementation- Status) looks like it's not stable yet.

<comment><AUTHOR> Actually is pretty stable right now, the most important features like Google Cloud Messaging and the Maps API v2 work flawlessly. Only certain specific apps give some issues, which usually are fixed in short time.

</comment></comment></comment><comment><USER40> Can someone explain what this? Is it a fork of Android with the Google service apps rewritten? Or just the latter? Could I take an old Android OS and install the alternative Gapps? Yours, confused.

<comment><USER41> It's a fork of LineageOS, which is the daughter of CyanogenMod, which is a fork of Android.

Only difference when comparing against LineageOS is that the OpenGApps package is "free".

<comment><USER42> >Only difference when comparing against LineageOS is that the OpenGApps package is "free".

Rather GApps (google) functionality is re-implemented from scratch and the necessary means (app signature spoofing) to replace GApps with microG is built into this LOS fork

</comment></comment></comment><comment><USER43> Is this going to try to install updates every day? It sounds like too much.

</comment><comment><USER28> Can't you just install microG services from F-Droid on any LineageOS phone? Why doesn't that have the same issue with spoofing?

</comment><comment><USER44> I tested a few apps that required gapps like uber and transit and both would load a map but would crash and fail

</comment><comment><USER45> I am utterly baffled by this project. What's the benefit of using open source software to access a completely closed-source set of services? If you're going to trust Google with your data anyways why would you care whether you're running a Google binary blob on the device?

<comment><USER29> I can't use Signal or my local railway app without Google Cloud Messaging. So I have two choices: \- Don't use them \- Install Google crapware package \- Install microG, which supplies the APIs so other apps can function normally

<comment><USER46> Signal can now work without GCM, they merged an alternative that uses websockets.

</comment></comment></comment><comment><USER47> I have a Pixel XL (first gen) on Google Project Fi. Do I need LineageOS?

<comment><USER42> can't answer your question, but there is no official LineageOS for any Pixel (1st or 2nd gen). There are unofficial ones

</comment></comment><comment><USER48> Is it possible to use microG with Android x86 on netbooks?

<comment><USER8> Sure, if you patched your Android x86 for signature spoofing capability. The official builds of microG support x86 (and x86_64)

<comment><USER48> Thanks for the info.

</comment></comment></comment><comment><USER49> IANAL, but won't this violate the license terms Google provides for Play services?

<comment><USER50> Maybe, since this hits Google APIs directly: [https://github.com/microg/android_packages_apps_GmsCore/blob...](https://github.com/microg/android_packages_apps_GmsCore/blob/d9e86d960d46e1be1f343591d7f37967b9ce8f3b/play- services-core/src/main/java/org/microg/gms/gcm/RegisterRequest.java)

But then, there's no TOS at this URL, and there's no point in taking this repo down, it would only make Google look bad and give microG free advertisement.

<comment><USER8> Most GCM and checkin related code is actually a Java rewrite of open-source code by Google. They released a client and some protocol specs as part of Chromium: [https://chromium.googlesource.com/chromium/chromium/+/trunk/...](https://chromium.googlesource.com/chromium/chromium/+/trunk/google_apis/gcm)

</comment></comment></comment><comment><USER51> Personally, don't think it's worth turning off proper signature checking in exchange for shaving off 100MB of proprietary code.

<comment><USER11> It does not turn off signature checking. It allows selective, whitelisted system apps to impersonate other apps after a permission is granted by the user.

Specifically, it allows the open-source, auditable microG apps to impersonate the closed-source, unauditable Google Play Services apps.

<comment><USER52> As much as I like the idea of running an Android device without _gapps_ while remaining fully functional, and I feel this fork goes out of its way to attempt to remain secure, I just can't get past the fact that it's still a security hole. Eventually some bad actor is going to hammer at this hole until he finds a way in, then it's game over, restart from scratch.

I think the larger problem, the one that caused the _microg_ gang to go this route, is the increasing control Google wants to hold over their platform. Fanatics always promote Android as the "open source alternative" to iOS and Windows Phone, but if you have to strip out so much proprietary gunk that it renders the device unusable, how can they claim it's open source with a straight face? Sure, the core Android code and kernel is still open, but there's a huge difference between being able to boot a device and actually using it daily.

<comment><USER11> This doesn't make sense to me. You already have other permissions (draw on top of other apps, full filesystem access, etc) that could be catastrophic to grant to malicious apps. If you don't trust yourself not to grant them, or you don't trust the Android permissions system itself to be implemented correctly, it's already game over.

(Edit to add: I agree with everything in your second paragraph.)

<comment><USER52> I may be misunderstanding the methods involved then; I'm not a security expert and I no longer use Android so I am behind the curve.</comment></comment></comment></comment></comment>


Intellectually Honest and Intellectually Dishonest Debate Tactics - <AUTHOR> http://www.johntreed.com/debate.html

<comment><USER2> Really? Alan Colmes is the name that comes to mind?</comment>


Show HN: A Detailed Look into Scammer Strategy to Steal Your Money – Part 3/3 - <AUTHOR> https://www.hackerfoss.com/2019/08/the-art-of-carding-part-3.html <comment><USER2> Site blocking adblock apps, just use incognito mode to bypass.

<comment><AUTHOR> Thank you for considering anti-AdBlock popup.</comment></comment>


Word count Greasemonkey script for YC application (beta) - <AUTHOR> http://mondhandy.de/wordCount.js

<comment><AUTHOR> I have no demo for my application, so to at least provide something, I started working on this word count script (also I could not find another script that worked).

Unfortunately I could not yet find a way to get the text from a textarea after the user has edited it. I would welcome suggestions. In the meantime you have to press "update" on the application and open it again to see the new word count.

Note that it is my first Greasemonkey script, I am not a Javascript whiz, and I was pressed for time, with accoring effects on the code quality...

</comment><comment><AUTHOR> Update: Wrong url, this one works: <http://mondhandy.de/wordCount.user.js>

And by now it also updates the wordcount on the fly, no update/reload required.</comment>


Ask HN: Displaying a million images on a page, in a way that doesn't suck? - <AUTHOR>

Well, CoolIris seems like a possibility...any other ideas? <comment><USER2> Just look into lazy loading. Google image search is doing it, as it Facebook now as far as I can tell. Basically all of your images on one page and you load them based on the user's scrolling and what's visible. There's a plugin available from jQuery that can help get you started:

<http://www.appelsiini.net/projects/lazyload>

<comment><AUTHOR> Yeah, I saw this on Facebook recently and was thinking of looking into it, thanks for the link!

</comment></comment><comment><USER3> Haha through flash. Enjoy performance tanking.</comment>


Kinesis Advantage Review: Long-Term Evaluation - <AUTHOR> http://www.anandtech.com/show/7125/kinesis-advantage-review-longterm-evaluation <comment><AUTHOR> Years ago I got a review model, wrote this: [http://jseliger.wordpress.com/2009/07/20/kinesis- advantage/](http://jseliger.wordpress.com/2009/07/20/kinesis-advantage/) and then returned the review model. A week or so later I bought one of my own, which I'm typing on right now. That's probably the ultimate positive review.

I suspect that the improvement between a regular keyboard and the TECK or Advantage is very large, but the marginal improvement between either keyboard for any particular user is pretty small. That is, you get diminishing returns when comparing the TECK or Advantage to each other but very large returns comparing either to a conventional keyboard.</comment>


Plotting the Sacricide of George Washington - <AUTHOR> https://allthingsliberty.com/2014/07/plotting-the-sacricide-of-george-washington/ <comment><USER2> This is just really bad writing:

 _As authorities vigorously sought to understand what was happening, evidence revealed a breathtaking scheme of unimaginable dimension that would have brought the Revolution to a sudden end. It was such a devastating plan that it left future Massachusetts governor and veteran Bunker Hill army surgeon William Eustis stuttering in amazed disbelief..._

<comment><USER3> But the giant self-promotional sidebar assures us that the content on the site is well-written, so you must be mistaken.

<comment><USER4> They refer to themselves as purveying "America's most important history". Why would someone say such a thing if it's weren't true?

<comment><USER5> It's like when NPR has to constantly repeat "we are trustworthy". Not a good look for sure.</comment></comment></comment></comment>


MacBook Pro 2012: 15″ Retina Display, USB 3.0 and ultra-thin - <AUTHOR> http://www.slashgear.com/macbook-pro-2012-15-retina-display-usb-3-0-and-ultra-thin-14228062/

<comment><USER2> It will be interesting to see if they found a way to deal with the reported heat issues related to ivy-bridge. Supposedly it was related to cheap thermal paste. If that is the case this is going to be a really sweet machine.

<comment><USER3> The only heat issues were when the chips were overclocked. At standard voltages and clock rates, the chips were fine.</comment></comment>


It's amazing what American's will eat. But I bet it tastes good - <AUTHOR> http://theincidentaleconomist.com/wordpress/adventures-in-indiana-state-fair-food-2011/ <comment><USER2> I'm in complete shock. I'm vaguely aware that obesity is rather a big problem in America (no pun intended). I thought it was solely down to the supersize me culture, clearly not. Is there anything that isn't fried in America? Deep fried butter! Speechless....

</comment><comment><USER3> There's nothing about this post that's OK. Horrifying! :)</comment>


KVM Virtualization With Enomalism 2 On A Fedora 10 Server - <AUTHOR> http://www.howtoforge.com/kvm-virtualization-with-enomalism-2-on-a-fedora-10-server <comment> patrickg-zill I like the walkthrough of the Enomalism UI and find it more useful than the actual install tips. Wonder why KVM was chosen over Xen?

</comment><comment><USER2> I'm really sick of seeing this guys howtoforge.com spam show up in the RSS feed.

<comment><USER3> There are people who are gateways for particular sites. This is both good and bad. Perhaps a gateway user's should get special skeptical handling in the code, but some gateway users bring good content.

<comment><USER2> I don't mind so much if it's apparent that there's a real person behind the account who actually interacts with the site and puts some thought in to submissions and comments. In so far as I can tell, joschi is just a bot for posting howtoforge.com stories and to me that adds nothing but noise.</comment></comment></comment>


The Y Combinator (no, not that one) – A Crash Course on Lambda Calculus - <AUTHOR> https://medium.com/@ayanonagon/the-y-combinator-no-not-that-one-7268d8d9c46 <comment><USER2> One of my favorite programming videos: Jim Weirich on the Y Combinator [https://www.youtube.com/watch?v=FITJMJjASUs](https://www.youtube.com/watch?v=FITJMJjASUs)

<comment><USER3> Thanks for letting me discover the work of that man. Its approach to learning about something by actually doing it really shines in the video you linked.

<comment><USER4> I think he passed away recently :(

<comment><USER2> He did. And that's how I learned about him and video.

</comment></comment></comment></comment><comment><USER5> Nice article, definitely piqued my interest in the lambda calculus, but there were a few points that were confusing for me as my first glimpse at the lambda calculus.

The first confusing point was the lack of definition of the order of operations. I first stumbled at the line (λy.(λx. x) y) a b . Is this supposed to be (λy.(λx. x) y) (a b) or ((λy.(λx. x) y) a) b . In this case both give the same answer, but it's not obvious that associativity holds in general.

It gets worse with the Y combinator: λf. (λx. f (x x))(λx. f (x x)) . Is this (λf. (λx. f (x x)))(λx. f (x x)) or λf. ((λx. f (x x))(λx. f (x x))) . Peeking ahead, it seems to be the latter, which makes more sense (otherwise the letter f would be pressed into service in two different contexts), but it's totally ambiguous from the rules that have been presented in the article.

The other point of confusion was regarding rule #3 (If t and s are both valid λ-terms, then t s is a valid λ-term.) The article tells is a certain manipulation we can do if t is a "function" (i.e. something that begins with a λ, I don't know the technical name for this), but doesn't say what to do if t is not a "function". As far as I can tell the answer is: do nothing, there is no simplification in this case. It would be nice if this was said explicitly.

<comment><USER6> There are only two bits of syntax for lambda calculus: 'application', written "a b", and 'abstraction', which I'll write as "\a. b" (since "\" is easier to type than lambda). The words "abstraction" and "function" are pretty-much interchangable, although we might use "abstraction" to specifically refer to a "new" function definition, like this:

        \x. x

As opposed to a "calculated" function, like the result of an application:

        a b

Regarding precedence, application is "left-associative", meaning that

        a b c

is the same as

        (a b) c

Abstractions 'capture' everything after the ".", so

        \a. b c \d. \e. f

is the same as

        \a. (b c \d. (\e. f))

You need to use parentheses to go the other way, eg.

        a (b c)
        (\x. x) y

In the case of the Y combinator, there is only one "f" variable but it gets used twice. There are two "x" variables, one per abstraction, although those abstractions just-so-happen to look the same. In other words, we could replace one of the "x" abstractions with "\y. f (y y)" (known as an "alpha conversion") but we can't rename one of the "f"s without renaming all three occurences.

Regarding your last point, the only _semantic_ values in lambda calculus are functions, so "t" can't be anything else. However, we just saw that there are two _syntactic_ forms which "t" can take. If "t" is an abstraction, we can simplify our expression immediately via the beta-reduction rule ('applying t to s').

If "t" is an application, like "t1 t2", then we can try simplifying _that_ to get either an abstraction (which we can apply to "s") or another application, which we can try simplifying, and so on.

It's possible (due to the Halting Problem) that we _keep_ getting applications no matter how much we try to simplify, in which case we've hit an infinite loop while trying to calculate "t", and hence we can never reach the point where we can apply it to "s".

<comment><USER7> >It's possible (due to the Halting Problem) that we keep getting applications no matter how much we try to simplify, in which case we've hit an infinite loop while trying to calculate "t", and hence we can never reach the point where we can apply it to "s".

But note that the _order_ of the reductions doesn't matter, as long as they're valid reductions. We always get the same result or it never halts like you said.

[https://en.wikipedia.org/wiki/Church%E2%80%93Rosser_theorem](https://en.wikipedia.org/wiki/Church%E2%80%93Rosser_theorem)

The Church-Rosser theorem probably deserves its own blog post.

</comment></comment></comment><comment><USER8> My page on lambda diagrams at [http://www.cwi.nl/~tromp/cl/diagrams.html](http://www.cwi.nl/~tromp/cl/diagrams.html) has a nice picture of the Y-combinator at the top, and this note at the bottom:

The diagram in the title, produced by the postscript code below, is a slightly deformed alternative Y diagram made to look like a Y.

        %!PS-Adobe-2.0 EPSF-2.0
        %%BoundingBox:0 0 118 110
        /m{moveto}def/l{lineto}def/c{concat 6 m 0 6 l 7 8 m 0 8 l l l 3 6 l 2 6 m 7 6 l
        3 4 m 6 4 l 6 6 l stroke}def 3 0 0 0 1[-8 4 0 8 60 9]c 3 2 0 2 2[-1 1 0 1 0 0]c

<comment><USER9> Since SICP and Lambda papers I have a fascination for the relationship with discrete math, computing devices and their topology. This doesn't help.

</comment></comment><comment><USER10> tl;dr

A fixed point p for a function f, is a value so that f(p)=p.

A semi-recursive function f is a like a recursive function, except that instead of invoking itself, it invokes some other function provided as an argument to f.

The y-combinator (aka fixed-point-combinator) is a function, that for a function f, finds a fixed point for f.

We can turn a semi-recursive function f into the corresponding recursive function g, by finding a fix point for f, which we can do using the y-combinator.

<comment><USER11> Also, and a big also, the Y-combinator exists in (untyped) lambda calculus--- e.g. all you need is abstraction and application.

This came as a shock to Church when he invented it as he wanted to use LC as a language for mathematical logic and fixed point combinators spell out doom for logical purposes. He thus invented the simply typed lambda calculus to banish such constructions.

</comment></comment><comment><USER12> I once tried an insane thing: building the Y-Combinator in C, and wrote a blog post about it. [http://kswizz.com/post/50429268286/fibonacci-the-y- combinato...](http://kswizz.com/post/50429268286/fibonacci-the-y-combinator- in-c)

It was a fun thought exercise. Not something I'd use in production code.

</comment><comment><USER13> From The Little Schemer - [http://www.ccs.neu.edu/home/matthias/BTLS/sample.pdf](http://www.ccs.neu.edu/home/matthias/BTLS/sample.pdf)

That chapter made me grok the Y Combinator.

<comment><USER9> Still wishing more people read that book. It is not overrated.

<comment><USER14> I love Racket, and thus Schemes of many kinds, but that chapter is really difficult for me to read compared to more academic or technical approaches - and I am really not an academic or technical person!

I find the use of some sort of Socratique dialogue to be deeply confusing, distracting and frustrating. Creepy, SCP-foundation or Welcome-to-Nightvale- like asides such as "We did not expect you to know this." only add to my confusion. It makes simple concepts like recursion look like some sort of House of Leaves nightmare world.

</comment></comment></comment><comment><USER15> If there's one thing that the prolific rise of the Y Combinator accelerator has done, it's made the combinator much harder to google for. (Though ofc Fixed-point combinator would still work).

<comment><USER16> I actually complained about this on twitter a while ago, and pg said he didn't believe me - recommending "y combinator lambda" as a search string. But more specific things like "y combinator golang" require you to block HN and a few other sites to get meaningful results.

</comment></comment><comment><USER17> Has the Y combinator been useful to anything? Has it been used in any software in a role other than pedagogic?

It's a beautiful way to make a recursive call without binding the function to an identifier, but has it actually proven useful? It would seem that languages that allow that make it easy to use the Y combinator also typically make it easy to use named recursion with a permanent or a temporary name.

<comment><USER18> Hey. You're completely missing it. The Y combinator shows that full general computation, including recursion and iteration, derives automatically and inevitably from just basic rewrite rules. Obviously it is too raw to be used directly. But if you design/implement any system with rewrite rules, you have provided indefinite power for recursions, and you have opened the Pandora box of undecidable-termination. This means that decidable computation can only occur without rewriting, which is incredibly restricted.

Food for thought.

<comment><USER19> I do use it directly. For example in Fexl I define the append function for lists as:

        \append=(@\append\x\y x y \h\t [h; append t y])

Where '@' is the Y-combinator.

Note that there's no direct self-reference with the symbol "append" there. I could define it equivalently as:

        \append=(@\loop\x\y x y \h\t [h; loop t y])

<comment><USER17> Why? Is it unreasonably difficult for you to implement recursion via direct self-reference in your language? Or do you just not want to because the Y combinator is there and it's cool?

<comment><USER19> True, I could implement it in terms of direct self-reference. At one point I used the "==" syntax for just that purpose:

        \append==(\x\y x y \h\t [h; append t y])

Maybe I should resurrect that syntax option. :)

It was trivial to implement. When the parser sees the "==", it just automatically abstracts the symbol "append" from the definition and applies the fixpoint operator (Y combinator).

The only reason I eliminated "==" in the first place was that I was in the throes of using different syntaxes for lazy, eager, and self-referencing definitions. Now I've settled in on "=" always meaning eager evaluation, without exception. Then I got hyper-minimalist and said that's it, there's only one syntax for definitions, and it's "=", and if you want self-reference, use "@".

However, the decision to settle in on eager evaluation now frees up "==" once again as an option for self-reference. So I may bring that back.

Thanks for the food for thought.

<comment><USER19> Postscript: You might well ask why not just use "=" only, and _assume_ that all definitions are potentially self-referencing?

That's a non-starter because I find that _redefinition_ is the more common intent:

        \x=4
        \x=(* x 5)
        \x=(+ y x)

In those cases I don't want x defined in terms of itself, but rather in terms of the previous definition of x.

That is why I would insist on a special token such as "==" to express the intention of self-reference.

</comment></comment></comment></comment></comment></comment><comment><USER20> Y Combinator in TXR's embedded Lisp dialect:

        @(do
          ;; The Y combinator:
          (defun y (f)
            [(op @1 @1)
             (op f (op [@@1 @@1]))])

          ;; The Y-combinator-based factorial:
          (defun fac (f)
            (do if (zerop @1)
                   1
                   (* @1 [f (- @1 1)])))

          ;; Test: 4! -> 24
          (pprinl [[y fac] 4]))

</comment><comment><USER21> There appears to by a typo in one of the lines.

The line

6 * (if 3 == 0 then 1 else 1 * (YF)(1–1))

The previous line is 6 * (λx.(if x == 0 then 1 else x * (YF)(x–1)) 1) When replacing the x s with 1s, it replaces one of the x s with 1, but replaces the first one with 3.

My guess was that this was copied from the first version, and they just forgot to change one of the threes to a 1.

(that is, unless I misunderstood something, which is of course possible)

I think the line should be

6 * (if 1 == 0 then 1 else 1 * (YF)(1–1))

<comment><USER22> Nice catch, thank you. I've fixed it now. :)

</comment></comment><comment><USER23> It still amazes me that you can define the Y combinator in Haskell directly:

        y f = f (y f)

And in ML, only slightly less directly:

        let rec y f x = f (y f) x

</comment><comment><USER24> I remember taking this in University, lambda scared the hell out of me.</comment>


5 Things every DBA should know like the back of their hand... - <AUTHOR> http://sqlblog.com/blogs/james_luetkehoelter/archive/2007/09/17/5-things-every-dba-should-know-like-the-back-of-their-hand.aspx <comment><USER2> 6\. Avoid all of this mess by rolling your own or using something simple :)

</comment><comment><USER3> These sound pretty specific to MS SQL Server.</comment>


Zombie Moore's Law shows hardware is eating software - <AUTHOR> http://www.theregister.co.uk/2016/09/22/the_evolution_of_moores_law_suggests_hardware_is_eating_software/ <comment><USER2> This article is based on a faulty premise. The A10 processor is still far away from the performance of recent Intel CPUs (a quick browse of geek bench shows about 2 times the single and 4 times the multi core performance). Apple is very quickly making the gains towards the limits of Moore's law not because of a different model of computation but because those gains had not yet been realised for mobile CPUs. As the performance gap is getting smaller, it is likely that the year-on-year improvements in processor performance will also slow down for Apple CPUs. Which is not to take away from the achievements of the A10 design team, considering performance per Watt this chip is incredible.

<comment><USER3> I don't disagree. What I found interesting is the bigger picture of hardware

By which I mean that, I think 'performance' is a slippery eel of a concept. The A10 fits in my pocket and and the Xeon Phi does not...or rather it doesn't in a way that provides me with useful computations...and the latest i7 doesn't hold a candle to the GPU in my $40 graphics card when I want to rotate the 16 million pixels my camera stuffs into a RAW file...and if I want to build a Kubernetes cluster, I can throw Raspberry Pi's at the problem.

<comment><USER4> _the latest i7 doesn 't hold a candle to the GPU in my $40 graphics card_

I think I understand your point (unless you meant iPhone 7?), but interestingly, recent Intel processors have impressively powerful graphics processors built in: [https://software.intel.com/sites/default/files/managed/c5/9a...](https://software.intel.com/sites/default/files/managed/c5/9a/The- Compute-Architecture-of-Intel-Processor-Graphics-Gen9-v1d0.pdf). So if you were using full capacity of that i7, I think it would beat your graphics card handily. The issue is that practically no one is writing code to use the full capabilities of these modern CPU's. A friend did a write up here: [http://lemire.me/blog/2016/09/19/the-rise-of-dark- circuits/](http://lemire.me/blog/2016/09/19/the-rise-of-dark-circuits/)

Even without the built-in GPU, I'd bet that the right software running on that i7 would blow away that $40 graphic card. I think problem is that we don't really have the right tools for writing low level multi-core software. Image rotation parallelizes and vectorizes really well, the x64 side of those processors have excellent vector capabilities, but it still requires hand coding to get top performance.

 _if I want to build a Kubernetes cluster, I can throw Raspberry Pi 's at the problem_

A thought experiment: how fast a cluster could you make from a few dozen iPhone 7's connected wirelessly? The processors are surprisingly fast, and I think they support 802.11ac at gigabit plus speeds. Could you possibly do distributed computing on an ad-hoc network of iPhones that happen to be nearby? An app with a sandboxed work queue that accepts local connections? There's lots of reasons it makes no practical sense, but it would be quite a demo.

<comment><USER3> An Intel i7-6700 will do about 200 single precision GFLOPS[1] and costs about $300 [2]. An Nvidia GeForce 710GT will do about 350 single precision GFLOPS [3] and costs about $40 [4]. A pixel pipeline is one of those 'embarrassingly parallel' workloads and the software I use, Darktable [5] is tuned to take advantage of GPU parallelism...the tools are there in no small part due to the gaming industry.

Thoughting on an iPhone cluster, the hurdle seems to be software that is designed to create friction against implementing such a thing: drivers and firmware in particular.

[1]: [https://www.pugetsystems.com/labs/hpc/Skylake- S-i7-6700K-and...](https://www.pugetsystems.com/labs/hpc/Skylake- S-i7-6700K-and-i5-6600K-for-compute-maybe-697/)

[2]: [http://www.newegg.com/Product/Product.aspx?Item=N82E16819117...](http://www.newegg.com/Product/Product.aspx?Item=N82E16819117560)

[3]: [http://www.newegg.com/Product/ProductList.aspx?Submit=ENE&N=...](http://www.newegg.com/Product/ProductList.aspx?Submit=ENE&N=100007709&IsNodeId=1&Description=nvidia&bop=And&SrchInDesc=710&Page=1&PageSize=36&order=BESTMATCH)

[4]: [https://www.techpowerup.com/gpudb/1990/geforce- gt-710](https://www.techpowerup.com/gpudb/1990/geforce-gt-710)

[5]: [https://www.darktable.org/usermanual/ch10s02s04.html.php](https://www.darktable.org/usermanual/ch10s02s04.html.php)

<comment><USER4> _An Intel i7-6700 will do about 200 single precision GFLOPS[1] and costs about $300 [2]. An Nvidia GeForce 710GT will do about 350 single precision GFLOPS [3] and costs about $40 [4]._

You are right, and I stand (mostly) corrected. Alternatively said for Skylake, with unrolled 256-bit FMA, you can calculate close to 16 single-precision floating point calculations per cycle per (physical) core: two vector loads, one vector store, and the 8x32-bit FMA itself.

At 4 GHz this is about 100 Gflop/s per core. For 4 cores this is about the same 350 Gflop/s as the $40 graphics card you pointed to. And realistically, loop overhead will knock you down another 10%, and if you run for any length of time you probably be thermally throttled back to something closer to the 200 Gflop/s you cite.

My general question about why no one is interested in using the built-in Tflop/s capable side of the Skylake die stands, but I was wrong to think that a well-tuned desktop processor could come anywhere close to the price/performance of a cheap graphics card for raw flop/s. Thanks for pointing out the real numbers.

<comment><USER5> Don't forget the i7-6700 is the one with the lame graphics.

Try the i7-6770HQ if you want better graphics performance.

</comment></comment></comment></comment></comment></comment><comment><USER6> This perspective fits into the top-down evolution narrative: Write highly specialised solutions in the most general way in software until essential, generic parts are discovered and stable enough to be translated into transistor logic. Repeat.

Or like the Bitcoin "evolution": CPU -> GPU -> FPGA -> ASIC (this is a very simple, single purpose optimisation, but it can illustrate part of picture)

Only optimising transistor speed, their size or the whole CPU/GPU package has obviously limitations and may be a dead end.

<comment><USER7> Dead end is far too negative. There is nothing wrong with improving general purpose computing. It's the very best thing you can do - when you can. Just be ready to adapt (by going for specialization) when you can't.

</comment></comment><comment><USER8> Huh, not where I thought this article was going from the title. I thought it'd be about software bloat eating into the gains given by hardware (which, in hindsight, is exactly backwards from the title).

</comment><comment><USER9> What is old is new again - this is the architecture of the Amiga! And before that the C=64 and the Atari 800.

<comment><USER10> Why was it a non-starter for Intel and what made Apple use it? I'm curious because I don't know about computer architecture.

<comment><USER11> Intel seems to be captured in its own x86 world. There were no big changes to the instruction set for ages, even the x64 extensions were designed by AMD. So while Intel still excels at manufacturing, the few projects for breaking out of their box failed (Ithanium, Larrabee). And also: why are there no Intel chips yet who include all the nice things USB-C can offer to the market? E.g. Thunderbolt, newest DisplayPort.

<comment><USER12> >Intel seems to be captured in its own x86 world. Eh, no.

>even the x64 extensions were designed by AMD.

AMD (not working solo) has published the spec in 2000, AMD, Intel, VIA and a few others have a pretty different implementation of that spec, Intel's x64 extension is drastically different than AMD's implementation.

Intel has been adding new extensions with virtually every generation, just look at how many generation of virtualization support extensions we've had.

>the few projects for breaking out of their box failed (Ithanium, Larrabee).

Itanium died because the industry didn't want to take a "RISC" (;)).

Larrabee isn't dead, in fact it is very much alive it is just inside your CPU, the AVX extension set and the silicon that supports are Larrabee's vector processing units. Intel just more or less had the insight to see that Larrabee won't go anywhere really and they can shrink it and implement it into every CPU within a few years.

Larrabee was interesting but it was not here and not there, Intel went to implement the good parts of it into each of their own CPU's and for HPC/GPGPU like computing it went a different way by releasing the Xeon-Phi.

>And also: why are there no Intel chips yet who include all the nice things USB-C can offer to the market? E.g. Thunderbolt, newest DisplayPort.

This just shows your utter lack of understanding of the technology landscape. I was tempted to cynically ask you about what version of Thunderbolt you have on your non-Intel machine to see if you fall for it, but alas I don't want to spread misinformation.

USB-C doesn't bring Thunderbolt not Displayport to the market, USB-C can be mechanically compatible with those 2. Thunderbolt is Intel's proprietary technology and its upto the system integrator to decide if they want to implement it or not, don't buy cheap ass laptops get the latest thunderbolt.

As for displayport could you please tell me what is the "latest"? if it is 1.4 there isn't a single desktop GPU that "technically" supports it yet, even the GTX 1080 is only certified for 1.2 (and in theory can support 1.3/1.4 but ink on the specs isn't dry yet and the certification process is well meh). Thunderbolt 3 is the only current interface that is actually certified for DP1.3, it should probably support DP1.4 but the spec was only finalized in march this year so....

<comment><USER13> Actually, Itanium died because the perf sucked. And it had no compat.

So yeah...

<comment><USER12> The performance didn't suck that much, not for the RISC part. The problem was that too many IA-64 application relied on the x86/xCPU emulation which was well yeah very shitty.

<comment><USER14> The Itanium is a VLIW, not a RISC (although they have some similarities). It executes "bundles" of 3 instructions in parallel. It was excellent in certain benchmarks because the compiler could schedule sequences to make full use of this; but it turns out that general-purpose code isn't really so parallel all the time, so the compiler would have to fill 2 or 3 of the slots in each bundle with NOPs, wasting space (thus cache usage and fetch bandwidth) and leave much of the CPU's execution units idle.

It was great at highly parallel benchmarks, but much slower than contemporary x86 (the P4, which wasn't that great either) for everything else.

<comment><USER12> Yeah it was VLIW/EPIC but i like the puns :P

As for the performance I don't have enough experience to pinpoint exactly all the problems, but i think it really ended up being a software issue.

Most complaints I've encountered were about the "emulation" part with the dynamic translation libraries and instruction set emulation.

Overall it seems to me like they just tried to tackle too many things, have some compatibility with X86, take on SPARC/POWERPC and do HPC, mainframes and tons of other applications at the same time.

That said after all this is still a mid 90's ISA for a very niche market with all these issues its surprising it lasted so long, I never understood why HP kept paying Intel to produce these chips in the first place.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER15> I think one of the things that is incorrect in this article is the software used to design asics (Custom Chips). Synopsys, Cadence, Mentor, Magma (when it was around) all made pretty good tools. The thing is the weren't free. Also you had to use TCL, but they could take rtl (Verilog aka the design language) to GDS (what gets fabbed). Heck there always seemed to be some startup that claimed they came up with a better routing tool or a better timing tool. They weren't super complicated to use. If you had too many gates you had to script a bunch of hacks, but it isn't too hard.

</comment><comment><USER16> Simple summary, you can use transistors in your chips to speed up software. That comes at the cost of flexibility of course but I think it was one of the secrets of the iPad's initial success.

That said, I think the ability to make inexpensive custom chips is going to power a wave of new hardware gizmos, unfortunately all of that capacity is in China and so if you don't read Chinese data sheets you're probably not going to be able to use those chips. (not that autotranslation is "bad" just that it doesn't always make technical documentation actionably understandable.)

</comment><comment><USER17> This might also explains why Google seems more and more interested in designing its own chips for mobile devices, just like Apple.

That and the underwhelming offering on Android compared to what Apple has been able to deliver.

<comment><USER18> Why is it underwhelming? What do people do with phones?

I exchange text, sound, and pictures with people. Sometimes I play stupid games. The sound/pictures/text sharing long ago hit a limit where theres a big question as to why a person needs a faster processor. Increased watts per compute helps, sure. But what else? What besides bloat requires a Moore's law increase in a phone processor?

What do I want to do with my phone that I don't yet know I want?

<comment><USER19> > Why is it underwhelming? What do people do with phones?

What did people do with phones in the 1890s? Even your closed set is much, much more than that.

What did people do with computers in the 50s, or PCs in the 80s? We do a lot more than that now.

With greater capability comes more, even if we don't yet know what "more" will be.

<comment><USER18> Windows 95 is 26 years old, my first computer ran it. It's been a quarter of a century and I don't do anything with a shiny new MacBook Pro that I didn't do with Windows 95. I browse the web, read news and comments, watch videos, exchange text with people. Sure, the video resolution is better but that has a lot more to do with the network than with the computer hardware. The UI is a little shinier, but I'm not enabled to do anything new that I couldn't do before.

If I don't buy a new computer every few years, what I have will be nearly worthless because software has a funny habit of finding ways to spend all available resources, even if it does most of the same things. I just don't think I would be that disappointed if I was still using Win 95.

> With greater capability comes more, even if we don't yet know what "more" > will be.

If you discount network speed and pixel density, "more" hasn't been much in 25 years as far as I can see. Miniturization means I can carry a laptop around with me, ok.

Likewise with phones. Android and iOS are about 8 years old now. What can we do that we couldn't then? _not much_ as far as I can see.

We're definitely past the point of diminishing returns when it comes to resolution, and near or already at the point where physically your eye can't couldn't tell if the pixel density was higher. So what's left?

</comment></comment></comment></comment><comment><USER20> How bad is debugging logic running purely on hardware nowadays? Is there anything more user-friendly than tapping specific lines and watching the output on an oscilloscope?

<comment><USER21> Usually you start at the verilog level with simulators (I've done this professionally with zero hardware experience and discovered many critical bugs in a chip that's now taped out. Of course the real engineers had to fix them.) Now that it's gone physical, after a series of very low level tests, they will take similar software and adapt it to the interface for hardware instead and repeat all the tests.

<comment><USER20> Ah makes sense. Thanks for the info, will look into this.

</comment></comment></comment><comment><USER22> Interestingly Sony went the other way with the PS4, Moving to x86. any ideas why?

<comment><USER23> \- Heterogeneous architecture made game development a lot harder.

\- Engines had to be re-implemented for PS3, because Cell is simply too different. (Note: Xbox is almost-PC, so it attracts lots of devs.)

\- Cell architecture isn't good for games, honestly. Cell CPU has bunch of stream processors, but has only one (or few?) general purpose core.

<comment><USER24> You're correct, honestly it seemed like Sony was expecting ALL the graphics work to be done on the SPU's. The whole design of the Cell Broadband Engine is basically one SMT PowerPC core (PPU) and a bunch of stream processors (SPU's). Considering their choice in an extremely weak GPU compared to the Xenos in the 360, a lot of games had to move a bunch of work off the GPU and write it for the SPU's instead (which were nowhere near as nice to work with, they couldn't just pull data from system memory without you passing a pointer to them that was translated to an address they could DMA from, and you couldn't just throw GL or RSX commands at them so you were stuck writing all the nitty gritty by yourself).

</comment></comment></comment><comment><USER25> We really do have a hardon for that Apple SoC, don't we?

</comment><comment><USER26> "Hey Clark Kent, its time for another bienniel 'End of Moores Law' piece"

</comment><comment><USER27> TL:DR; Moore's law can no longer be counted on for performance gains, so speeding up things will now be dependent on replacing general purpose hardware with hardware specifically designed to implement specific algorithms.

Of course work on custom chips has been going on as long as chips were a thing. The article just underlines that this is now pretty much the only way forward.

<comment><USER28> Aren't optical transistors another option though?

<comment><USER29> Optical switches are extremely large compared to contemporary transistors, and there's no obvious way to scale them smaller than the diffraction limit.

<comment><USER28> Hopefully this kind of problem will be solved within a decade, do you think that's a reasonable time scale or is this problem even unsolvable?

<comment><USER30> Like all research into the unknown it might prove easy (5-10 years) it might prove hard (20 years) it might always be 50 years away (hehe fusion) or it might just not be possible (faster than light travel).</comment></comment></comment></comment></comment>


One World, One Database - <AUTHOR> https://medium.com/@simonvc/one-world-one-database-432ef513da01 <comment><USER2> > This world would be fundamentally more efficient than the one we live in > now. It would be fundamentally fairer since there would be one rule for all > and that rule would be plainly visible and implemented automatically.

And this is why the whole thing will never happen. If I may throw my peanuts at this idea.

I suppose a lot of things today is motivated by the individual's question of "How can I benefit from this?"

But here's an idea, someone should start Universal Basic Income/parallel economy using blockchains. Anyone can sign up. If there's this giant pool of people with "money", I bet people trying to sell things to them will quickly sign up...

</comment><comment><USER3> I think this is a great exploration but I'm still sceptical of current blockchain tech.

Joining the pool of miners feels wrong. Realistically there's no incentive for an every day user to join the pool.

We need to create systems that provide benefits as an average user but detracts investment into powerful hardware. Does this exist?</comment>


Pixy (CMUcam5): a fast, easy-to-use vision sensor - <AUTHOR> http://www.kickstarter.com/projects/254449872/pixy-cmucam5-a-fast-easy-to-use-vision-sensor

<comment><USER2> They announced that they will add face detection/tracking. This sensor is fully open--- software, firmware, hardware, schematics, PCB layout, everything</comment>


SHOW HN: PYGA - A Python Google Analytics - Data Collection API - <AUTHOR> http://kra3.github.com/py-ga-mob/

<comment><AUTHOR> Now you can use google analytics from server side. Possibilities? I guess there are many.</comment>


Ask HN: Would you really pay for a social network? - <AUTHOR> All the big social sites and apps are free to use but rely on advertising for revenue. I often see complaints about this and many people say they'd rather pay for a social site, but I wonder. App.net was supposed to be a next-generation social platform but it fizzled out, even under much fanfare. Does a paid social website model really work, or are we fooling ourselves? Are there any good examples? <comment><USER2> I would happily pay for a social network. My dream is EU breaking up Facebook and forcing them to become a federated service where many service providers can compete. Facebook would work the same way it does now but I would be able to choose, and pay, my own Facebook-protocol service provider. Just like we do with phone service.

Because the huge majority of my friends would not consider paying for a social network.

Many have noticed that Facebook provides a lot less value than it used to. They no longer use it to stay in touch with friends but rather to share random news/opinion articles. It would be hard to convince them that what's ruining Facebook is ads and that if they would pay those problems would go away.

</comment><comment><USER3> IMO the reason social took off is that everyone bought into the idea. That means you want people from all walks of life be a part of it and possibly fund it via the folks who are willing to pay for it: Take strava for example.

The equivalent for regular social sites would be in my mind a service that blocks tracking/user data collection ads etc. \- essentially everything people are worried about for a price. If you don't pay the price, you get the 'basic' model where they make money off you by other means.

</comment><comment><USER4> Dating apps are a social network and most are paid. The key is to allow people to use the money they paid in-app-purchases as social proof. Eg, someone can 'woo' you on Bumble with flowers, which makes them stand out from the crowd of mere right swipes.

<comment><USER5> That's not the way social proof works. I know that the flowers idea is just an example, but in general giving material things, even virtual gifts, to women is just not an effective seduction strategy. It's actually counterproductive in this day and age.

<comment><USER4> Agreed that virtual gifts may not be the best indication of wealth - we should look at conversion rates here - but studies generally show the same man standing with symbols of wealth is viewed as more attractive than one standing without them.

</comment></comment></comment><comment><USER6> I guess it depends on what is considered a "social network". I canceled my facebook a couple years ago and don't have twitter or instagram or anything else like that. I do however belong to some forums (vbulletin type sites) and pay for some extra perks on them. Like being able to post in the classifieds, etc... I notice that since getting off of facebook I started going back to forums that had specific topics. I find that the discussions on there are much friendly an about a specific topic.

</comment><comment><USER7> Yes and no.

I did pay for app.net when it started, so I know that I really would pay for it. App.net had a theory that if you made an elite social network, interesting people would pay to be on it, and then everyone else would follow.

In practice it seems these don't really work, when there are free alternatives.

On the other hand, the public social networks are becoming too abusive for many subgroups so maybe that would be a place to start.

</comment><comment><USER8> Why pay for it? Block chain means It's going to pay us! See [http://steemit.com](http://steemit.com) or [http://d.tube](http://d.tube) or [http://Ong.social](http://Ong.social)

</comment><comment><USER9> Before there were social networks there were online communities. Paid social may not work, but paid online communities may.

<comment><USER10> What is the distinction?

</comment></comment><comment><USER11> If it were truly ad-free, maybe. But there's nothing to stop them from starting a subscription-based service and then slowly introducing advertising to squeeze more revenue out of the platform, once everyone is invested in it. It would need to be a self-governed, non-profit cooperative. Or a government service.

</comment><comment><USER12> I don't think it works at scale. That said, I there are many examples that paying for social sites (often handsomely) is a thing.

Two simple examples:

\- Dynamite Circle

\- Mastermind Talks

Note that these are not open networks, and they are focused on creating opportunities for members to generate lots of value (both monetary and otherwise).

</comment><comment><USER13> Yes, but not in the way most social networks are.

My siblings and I communicate privately through Google+ circles. None of the photos, posts, etc are published to the broader world ever. Unfortunately, Google Plus has been on its death bed and won't be what we can use forever.

</comment><comment><USER14> If I had to pay $1 per month for every website I visit daily on top of my comcast subscription, I'd need to sell my house. Ads are fine, the real problem with social networks is privacy. I'd pay for privacy if they'd offer some sort of sandbox account.

</comment><comment><USER15> I _would_ pay to host a server (in my basement or in the cloud) on which to run a node in a decentralized social network. I _might_ pay a one-time fee to join such a network. I would _not_ pay a monthly fee for it, or for any social network.

</comment><comment><USER16> Nope - I don't see myself using a social network ever again in my life.

</comment><comment><USER17> Nope. I'll agree to whatever your terms of service are, allow access to my data, let you target ads to me, etc. but I'm not getting out my wallet.

</comment><comment><USER18> I would, if it were something between Snapchat and Dropbox. Anything a user posts gets deleted after a while and they would be able to archive posts for a fee.

</comment><comment><USER19> LinkedIn has a paid plan, and people most likely use it.

</comment><comment><USER20> \- I never thought I would pay for music before Spotify.

\- I never thought I would pay for movies before Netflix.

</comment><comment><USER21> Lots of people pay for strava - i guess its about vertical markets

</comment><comment><USER22> forums.somethingawful.com metafilter.com

</comment><comment><USER23> If it was good enough, sure.

</comment><comment><USER24> steemit.com :) everyone pays each other!

</comment><comment><USER25> Maybe.

<comment><USER25> I would pay for a social network that can offer a simple UI, that works on any device (have you tried to use Instagram on an iPad Pro), and that can help me switch between private, anonymous, and public posts intermittently.

</comment></comment><comment><USER26> I would pay to never again have to have anything to do with a social network.</comment>


Highest paid college majors... (and it's not CS) - <AUTHOR> http://blogs.wsj.com/atwork/2013/04/29/and-the-highest-paid-college-majors-are/

<comment><USER2> Edit: >Here's the list of top 10 majors, with starting salaries: Petroleum Engineering: $93,500 Computer Engineering: $71,700 Chemical Engineering: $67,600 Computer Science: $64,800

major _S_ .. _it's_ ... the list has more than one major, so _it's_ is not going to be anything.

and woooooooptiedoooo. It's not all about the money.</comment>


Can You Rewire Your Brain? Maybe. (It's Tricky. Be Careful.) - <AUTHOR> https://undark.org/article/wilo-williams-plastic-brain/ <comment><USER2> Did not read this article, but short answer is Yes. Read the book 'MindSet' by Carol Dweck</comment>


The End of Hotmail - Never Looking Back - <AUTHOR> http://www.alexwilhelm.com/alex_wilhelm/2009/02/the-end-of-hotmail-never-looking-back.html The world is moving to Gmail, about damn time. <comment><USER2> For the company I work for (hotmail|live|msn) addresses come third, making up about 1 in 5 users. That's actually more than I would have expected, and I suspect is largely due to the audience not being very technically savvy.

GMail just pips Yahoo to the top, both making up about 1 in 3 users each.

Hotmail seems to just magically disappear e-mails at random; they never end up arriving with our customers. Yahoo frequently "defer" delivery until later which can be very annoying when sending out verification e-mails. We've never had any problems with GMail delivery at all.

Following the advice on the pages below has helped resolve some of these issues, but if I were a user of these services I'd rather receive the odd spam e-mail or it end up in the junk folder instead of having to wonder if e-mails were occasionally going missing.

<http://postmaster.msn.com/>

[http://help.yahoo.com/l/us/yahoo/mail/postmaster/basics/post...](http://help.yahoo.com/l/us/yahoo/mail/postmaster/basics/postmaster-15.html)

<comment><AUTHOR> I know, I have only had two emails ever sent incorrectly to spam by gmail.

</comment></comment><comment><USER3> I love Gmail, but still wonder if this is the hotmail deal all over again. Hotmail was once great as well. To mimize risks, I use my own domains as addresses and take frequent backups.

<comment><USER4> Privacy and evilness issues aside, there's always the problem that what was once awesome and free is unlikely to stay so forever. New policies (max attachment sizes, storage restrictions) etc can also ruin the service.

I pay a very small amount to have my own mail server on my own domain. It is unlikely to ever change (great for long-term networking) and I control exactly how crappy or excellent the service is.

Considering how important email is to each of us in our daily lives, even non- hackers, I'm surprised more people don't pay for it.

<comment> cool-RR I have my own domain too, in a shared server. But I set mine up to forward to my G-Mail account. How can one get a good mail interface if not through G-Mail?

<comment><USER4> Well, I'm stuck between two answers:

\- You can't. \- You can, if you use a native client through IMAP. Both Mail.app in OS X and Thunderbird work very well.

There are some open source projects out there that try to do a good webmail interface. It's been over a year since I last scoped out that scene, but there wasn't much stable, mature stuff back then.

</comment></comment></comment></comment><comment><USER5> I prefer not to have google reading my emails.

<comment><USER6> Microsoft reads your emails too. Any service that has junk mail filters does. Gmail just does it more effectively.</comment></comment>