SQLite improves performance with memory-mapped I/O  - <AUTHOR> http://www.sqlite.org/releaselog/3_7_17.html <comment><USER2> I like to take every possible opportunity to sing the praises of SQLite, which is one of the most widely deployed RDBMS's in the world. Not only is it open source, but it's public domain, and it's an incredibly stably developed and well-tested piece of software.

Please note that it's not for every application. It is not a client/server architecture. It simply a tightly optimized piece of C code that interacts with a file (or RAM) to create a lightning fast approximation of a SQL server that is ACID compliant.

One thing I've used it for the most, is for small, ad-hoc internal web applications. With the webserver as its "single user", it is incredibly speedy and reliable and holds a shockingly large amount of data (still works pretty well when data gets up into the Terabytes).

<comment><USER3> Yes, and I don't understand why Wordpress does not support it officially and we need to use MySQL instead.

<comment><USER4> The theoretical answer is because SQLite is not the right tool for the sort of things Wordpress does. SQLite supports more concurrency than one might expect from an embedded db - it's still an embedded db, though. Writing, for instance involves a database-global lock.

The practical answer is - Wordpress is written in a MySQL-specific way. It doesn't officially support, say, Postgres or Oracle either.

<comment><USER5> > The theoretical answer is because SQLite is not the right tool for the sort > of things Wordpress does.

Which probably isn't true.

SQLite is bad at concurrent writes. Your average wordpress install is almost only reads. And with 3.7.0's WAL, readers and writers don't block one another anymore.

<comment><USER4> The trouble is that there are many, many Wordpress sites out there that are not an average Wordpress install. People (disturbingly) write e-commerce sites on top of Wordpress. SQLite is not the right tool for the sort of things Wordpress does not because you couldn't write a blogging tool using SQLite but because Wordpress is crazy.

<comment><USER6> If one could write blogs and ecommerce sites using MyISAM (shrudders) then why wouldn't SQLite work? MyISAM had -- at least in theory, I have not done any benchmarks -- even worse concurrency than SQLite.

<comment><USER4> I hope I've completely forgotten any details of the convoluted locking behaviours and tuning options of MyISAM (which, in my head at least, is read as 'miasma') but they were there to at least attempt to support certain types of concurrency. And they were table-level whereas the SQLite write lock is db- wide.

Could you reasonably write blogging software that uses SQLite? Sure. It's just that Wordpress isn't that blogging software - it's written to be paired with MySQL, for good or ill.

<comment><USER6> MyISAM has reader/writer table locks[1] which meant that nobody could read while someone was writing to a table.

SQLite can be ran in two modes 1) database reader/writer lock or 2) in WAL mode[2] where readers do not block writers and writers do not block readers. Writers block each other though so there can only be one concurrent writer. WAL mode provides concurrency superior to what MyISAM did.

      1. The locks could sometimes be bypassed by inserts, but not reliably so.
      2. http://www.sqlite.org/wal.html

<comment><USER4> Sure but WAL in SQLite is 3 years old. Wordpress is 10 years old. MySQL with MyISAM is a lot older than that. I personally happen to think almost everything about Wordpress is wrong. It's just hard to blame them they didn't start or subsequently adopt SQLite. I doubt it's ever been as much as on their radar.

<comment><USER7> I believe you can approximate table-level locks in sqlite by splitting your database into multiple files. Transactions across multiple databases are atomic (provided you don't use WAL), so you're still in a fairly safe place. However, I'm not sure how practical it is to split a database into lots of files; or whether the sqlite engine deals efficiently with queries that span many databases, for instance - I've never actually done this.

But if you _really_ need a particular table to be writable without locking the rest of the database, it's probably a fairly decent workaround.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> Fun SQLite story, I had a project that needed to do reasonably large scale data processing (gigabytes of data) on a pretty bare boned machine in a pretty bare boned environment at a customer location. I had a fairly up-to-date perl install and notepad. For the process the data needed to look at any single element in the data and find elements similar to it. I thought long and hard about various complex data structures and caching bits to disk to make portions of the problem set fit into memory, and various ways of searching the data. It was okay if the process took a couple days to finish.

It suddenly hit me, I wonder if the sysadmins had installed DBD::SQLite...yes they had!

Why mess with all that crap if I could just use SQLite. Reasonably fast indexing, expressive searching tools, I could dump the data onto disk _and_ use an in memory SQLite db at the same time, caching solved. It turned weeks of agonizing work (producing fragile code) and turned it into a quick 2 week coding romp. The project was a huge success and spread to a couple other departments.

One day they asked if I could advise a group to build a more "formal" implementation of the system as they were finding the results valuable. A half dozen developers and a year later they had succeeded in building a friendlier web interface running on a proper RDBMS (Oracle 10something) with some hadoop goodness running the processing stuff on 8 or 9 dedicated machines.

In the meantime, and largely because SQLite let me query into the data in more and more useful ways that I hadn't foreseen, I had extended the original prototype significantly and it was outperforming their larger scale solution on a 3 year old, _very unimpressive_ , desktop with the same install of perl and sqlite. On top of the raw calculations, it was also performing some automated results analysis and spitting out ready to present artifacts that could be stuck in your presentation tool of choice. Guess which ones the users actually used?

Soon I had a users group, regular monthly releases and was running a semi- regular training class on this cooky command line tool (since most users had never seen a command line). I've since finished that job up and moved on, and last I heard my little script using SQLite was in heavy use, the enterprise dev team was still struggling getting the performance of their solution up to the levels of my original script, and hadn't even touched the enhancements yet.

SQLite was rock-iron solid the entire time. I had a few things I wished it could do, but I usually found a way to manage. I wasn't using it for its feature, it existing _was_ the feature. SQLite sprinkled magic on my one-off hack job and turned into a _thing_ that people ended up using.

<comment><USER9> DBD::SQLite remains one of my greatest successes - so glad you like it.

So many projects I have prototyped using SQLite (although for most I later upgrade to PostgreSQL). Such a great little tool, and building DBD::SQLite the way I did (including all the source) made it so easy for anyone to install.

<comment><USER8> (once again why HN is awesome)

Thank you thank you thank you thank you

from the bottom of my heart.

DBD::SQLite has been one of the most important libraries for perl that I've ever used. Including the SQLite libraries instead of making it another dependency to install someplace makes it so unbelievably useful.

Plus it's surprisingly easy to move code over to using a more grown up database later.

</comment></comment></comment><comment><USER10> I'm intrigued by disadvantage 3 from <http://www.sqlite.org/mmap.html> :

 _The operating system must have a unified buffer cache in order for the memory-mapped I/O extension to work correctly, especially in situations where two processes are accessing the same database file and one process is using memory-mapped I/O while the other is not. Not all operating systems have a unified buffer cache. In some operating systems that claim to have a unified buffer cache, the implementation is buggy and can lead to corrupt databases._

Which commonly-used operating systems lack a bug-free unified buffer cache?

<comment><USER11> Later on, the say mmapped I/O is always disabled on OpenBSD because of a buggy unified buffer cache.

<comment> X-Istence s/buggy/non-existent/

<comment><USER11> True, my bad!

</comment></comment></comment></comment><comment><USER12> My rule of thumb :

Does it can be build using SQLite ?

Yes => Use SQLite ;

No => Use PostegreSQL.

Using SQLite on small/medium projects is so better than alternatives : keeps all the ease of text files while giving the full power and reliability of a RDBMS.

<comment><USER13> Also never say "we will move from X to PostgreSQL later on" where X is something like SQLite or MySQL. It will NEVER happen.

</comment></comment><comment><USER14> When I was building the Stumbleupon toolbar for IE way back in the day (2009ish?), we decided that we were going to use two things that made our life extremely easy: 1) Javascript and 2) SQLite. We basically had some C++ code that exposed SQLite to the embedded JS, and ended up writing the majority of the code in JS rather than C++.

SQLite was a fantastic embedded DB that was trivial to integrate with the JS engine in Win32. I don't recall ever having to deal with any support issues around corrupted databases.

It looks like the IE toolbar is still using SQLite to this day - you can explore stumbledata.db from any SQLite explorer.

</comment><comment><USER15> The SQLite site continues to offer a wealth of information about SQLite internals. Most of the pages (ex. <http://www.sqlite.org/fileio.html>) are a good read for anyone interested databases or creating good system software.

</comment><comment><USER11> Cool! Though a bit harsh to have it always disabled on OpenBSD. If you're running only one process or core, you could still benefit from mmaped I/O, couldn't you?

</comment><comment><USER16> It would be nice to see some benchmarks showing these speedups. It's rare for mmap to be a significant win over read/write.

</comment><comment><USER17> Honestly, nobody should use SQLite even for testing your application. If you are going to run PSQL or MySQL, please install that DB and run tests on them. SQLite or other DBMS have a lot of incomparability. I would consider SQLite if I just need a database for some really really small project, such as a CLI that speaks to an API and I need them saved locally, then I would consider shipping my CLI with SQLite setup.

<comment><USER18> Notice how your advice is devoid of arguments, but full of opinion?

</comment></comment><comment><USER19> Congrats Richard on a great new release.

</comment><comment><USER20> I'm not much for using SQLite but using mmap() is a no-brainer for fast file access and I'm surprised they hadn't used it before. I mean, its trivial to use if you know how to use fopen()...

<comment><USER21> > but using mmap() is a no-brainer for fast file access and I'm surprised they > hadn't used it before.

Is it always? I remember benchmark sequential file reads and writes and plain old read and write were sometimes faster or there was no difference.

<comment><USER22> I think a lot of people get bit by small stdio buffers and switch to mmap, not realizing that read() based solutions can be improved greatly by better buffering strategies.</comment></comment></comment>


Netscape Goes Traditional; Does Calacanis Take the Hit? - <AUTHOR> http://www.centernetworks.com/netscape-goes-traditional-does-calacanis-take-the-hit <comment><USER2> Calacanis destroyed Netscape :(</comment>


At SXSW, Apple schools the marketing experts - <AUTHOR> http://www.cnet.com/8301-14013_1-20042569-284.html <comment><USER2> Can somebody explain to me what SXSW is? I was always under the impression that it was a music festival in Austin, but it sounds like over the last 3 years it's morphed into some sort of "social media" expo/convention.

Has the entire world gone completely insane? A huge, publicly traded, multi- national consumer electronics company opens a place for people to spend money, and this is the most memorable part of SXSW?

"Well, sonny-boy, let me tell you about the best SXSW ever! Apple opened one of their stores right in the festival and let me give them my money! It was great!"

<comment><USER3> It started as a music festival in the late 80s, though "music festival" doesn't really cover what it was even then.

It was from the start more of a showcase for indie bands to make their mark than a festival in the same sense as most other fests. Bands with little exposure (but hopefully much talent) would be invited by the curators, and reps from all the record labels would show up. It was a chance to make a name for yourself. There's also a music biz conference that goes along with it.

They eventually added a film festival, and it's become a launching pad for indie filmmakers in the same way the music side did. It's not Sundance, but in some circles it's even more influential as it doesn't back off from genre material. It also has a biz conference for film.

In the last 10 years or so, they started playing up the "interactive" side as well. Basically a conference for new media, internet startups, etc. That's been gaining ground and is now an influential event in that arena as well.

It seems like it's on the verge of being a little _too_ big these days, with not entirely favorable comparisons to ComicCon becoming more popular. It might outgrow its usefulness in the next couple of years, but right now it seems to be on top of the world in several arenas.

</comment></comment><comment><USER4> This article is akin to being impressed if the LA Lakers got accepted to the NCAA tourney and ended up winning the whole thing. They're the Lakers, they're supposed to dominate a bunch of college teams.

I fail to see how its considered all that surprising when a company like Apple has a dominating performance at SXSW when they have access to more money and resources than any other companies present, arguably by far. Someone please help me understand. Thanks...

<comment><USER5> Ummm... IBM, MS, and Google are there as well, so they aren't the only ones present with deep pockets. They haven't done anything at SXSWi before that I am aware of.

It's amazing how SXSWi has grown into a legitimate conference as opposed to the poorly attended appendage to the Music and Film festival.

</comment></comment><comment><USER6> Not much here, Apple schools the marketing experts because they opened a store at an event and many people showed up.

This is called event marketing. You have a large number of people with similar interests and if they are your potential customers, you put yourself there.

The one thing Apple is great at is getting free press by keeping secrets, this article is a good example of that.

It's a shame what has happened to cnet, they used to have good tech content. Now they publish poorly written articles with catchy headlines to get clicks. From the looks of this article it seems like they also employ the same standards as the new AOL.

</comment><comment><USER7> I really don't see what was so special about what Apple did ... there were lines outside of pretty much every Apple store in America to get the ipad 2 ...

They opened a temporary store right next to a conference that geeks (who happen to adore them and the ipad) are going to be in attendance and its supposed to be this jedi-esque marketing move?

Please.

</comment><comment><USER8> This is a terrible article. Not only is it not "brilliant" and the thing that people will take away from SxSw, but it's also untrue. I'm at SxSw and went to the Apple store to check the hullabaloo yesterday and there was no line (afternoon).

So far, I think the thing that people will remember most is Marissa Mayer's talk on Google Location dominance.

Apple makes great products, but I don't see why the 2nd gen iPad is so sought after that anyone would spend an entire day of a festival they've spend thousands of dollars on waiting in line for it (other than to say they were waiting in line)</comment>


Twitter is down - <AUTHOR> https://outage.report/twitter <comment><USER2> A slightly amusing side effect is that the app shows you as having -1 followers and following -1 people.

</comment><comment><USER3> The summer of outages continues. With Twitter down, I have nowhere to vent my frustrations about it :/</comment>


An overview of the Qubes VM management system - <AUTHOR> http://theinvisiblethings.blogspot.com/2013/03/introducing-qubes-odyssey-framework.html

<comment><AUTHOR> Previous HN discussions of Qubes:

<https://news.ycombinator.com/item?id=4472403> <https://news.ycombinator.com/item?id=2645170> <https://news.ycombinator.com/item?id=2477667> <https://news.ycombinator.com/item?id=1796384> <https://news.ycombinator.com/item?id=1246990></comment>


How to get engineering teams to eat their vegetables - <AUTHOR> https://medium.com/@duretti/how-to-get-engineering-teams-to-eat-their-vegetables-83e0f83af71a#.smx1dyw0z <comment><USER2> > arguably, Slack is lending its voice to the conversation via our assertion > that chat is the future of work communication.

> at many companies, more than three-quarters of an employee's day is spent > communicating with colleagues.

To do my best work, I mostly need people to stop _talking at me_ and let me concentrate. It's getting harder to find opportunities to do this, and never getting into the zone is my idea of hell.

I think the author's observations about current trends are correct, but I don't see them making software better.

<comment><USER3> If 3/4 of a software engineers day is communicating I hope they aren't staying at work till 9pm doing actual work.</comment></comment>


Tune In Live To Facebook's News Feed Event - <AUTHOR> http://techcrunch.com/2013/03/07/tune-in-live-to-facebooks-newsfeed-event-as-it-happens/ <comment><USER2> no f-ing way.</comment>


Detect and Track Twitter Propaganda - <AUTHOR> https://botcheck.me/ <comment><USER2> Is this a dupe? I can't find a previous discussion thread. Could someone link it?

<comment><AUTHOR> This is the blessed post: [https://news.ycombinator.com/item?id=15619533](https://news.ycombinator.com/item?id=15619533)

<comment><USER2> Thanks.</comment></comment></comment>


Why the IRS Fears Bitcoin - <AUTHOR> https://www.nytimes.com/2018/01/22/opinion/irs-bitcoin-fear.html? <comment><USER2> Bitcoin is _not_ anonymous. (Reporter needs to get a clue.) Once you link an individual to a single transaction, you can trace them through every other transaction to and from that address.

In practice, this means that if you use coinbase, or any large web merchant, that merchant can link your identity to the wallet you use, and then to almost every other transaction you spend.

The bitcoin UTXO transaction graph adds in _some_ anonymity, because it's hard to be sure which part of a transaction's output is going to the merchant, and which is coming back to the user in the form of change. However, in practice, forensics are quite good, and are certainly good enough for the government (if they hired any decent tech person) to figure out.

On the other hand, coins like Zcash and Monero _are_ anonymous, and the IRS might have reason to actually fear those.

<comment><USER3> Let's say I bought bitcoin on coinbase. Two days later, I sell it to a friend. He gives me cash, I give him the private key. Then he does whatever he wants. Am I now responsible for every transaction he makes from that address? Also, if I mined bitcoin, how would the IRS know?

<comment><USER4> > I give him the private key

Why would you do this? Why would anybody ever accept a private key in a transaction. Now the key is no longer private!

<comment><USER3> I didn't say it was smart...it's just possible.

</comment></comment></comment></comment><comment><USER5> I don't think the IRS fears Bitcoin. The examples in this piece are quite easy for the IRS to get around.

For tax purposes one of the key concepts in mining Bitcoin and trading Bitcoin is the use of a third party. If you have moved coin to a third party to execute a trade and the IRS audits you, it's up to you to prove that these addresses are owned by third parties.

So then you need to supply the entities individual or corporate name. If you're lying and cannot produce the identity of the exchanger, then you're going to be a world of trouble. Even if it's a decentralized exchange, you're going to need to show the transaction that execute the trade.

Even if you're doing these trades with shielded Zcash transactions (these are completely anonymous transactions) once you supply addresses A, B, C, etc... to the IRS (or the ATO in my case) and you get audited, you need to show who these third parties are.

Honestly, cryptocurrency is not an issue for the tax office, even cryptocurrency such as Zcash and Monero are not an issue.

<comment><USER6> > _cryptocurrency is not an issue for the tax office_

The IRS budget is limited. If enough people try to flout the law, it could become burdensome. We may require a tweak to the Code making individuals who seem to go out of their way to make life for the IRS difficult liable for the investigation cost they foist upon the public (if it is found they evaded taxes).

<comment><USER7> >We may require a tweak to the Code making individuals who seem to go out of their way to make life for the IRS difficult liable for the investigation cost they foist upon the public (if it is found they evaded taxes).

No, just no.

</comment></comment></comment><comment><USER8> > More likely, the United States would take a tougher approach and attempt to > ban cryptocurrencies.

This article is pure conjecture.

If the government has an opportunity to collect tax revenue, it will. Collecting tax on cryptocurrencies is theoretically straightforward: Require exchanges to report in the same way stock brokers do, or they're banned from operating in the US. As an investor, you get taxed on your realized capital gains / losses.

</comment><comment><USER9> I doubt their scheme for dodging taxes would be effective. You sold your bitcoin for $15,500 to B? Ok, show me where it went into your bank account. You didn't make a $10,000 gain when you sold a coin for $25K? Ok, where did this extra $10K in your bank account come from?

On top of that, for Bitcoin itself the scheme would be especially clear, if you don't make good use of mixers, since it'd be the same identifiable coin moving around.

Still, if someday we're running a large part of the economy on strongly- anonymous cryptocurrencies, we could always tax things we can track more easily. There are all sorts of options, and some, like carbon taxes, would be more beneficial anyway.

<comment><USER10> You are forgetting that capital gains tax applies to cypto-to-crypto trades. Meaning, if you buy 10 ETH with 1 BTC, then sell the 10 ETH later for 1.2 BTC, you need to pay capital gains tax on whatever the dollar value of 0.2 BTC was at the time of the trade. This is super hard for the government to track.

<comment><USER11> You are forgetting that the government doesn't need to track your capital gains, you do.

Any gains you can't prove are capital gains (or more specifically, are long- term capital gains, or collectibles gains) are treated as ordinary income.

Moreover, the government doesn't need to track your initial purchase price. You do. If you can't, you are treated as having paid $0 for the cryptos and are taxable on all gains.</comment></comment></comment>


Startups vs. The Big Guys: The Power Of Caring For Customers - <AUTHOR> http://onstartups.com/home/tabid/3339/bid/1109/Startups-vs-The-Big-Guys-The-Power-Of-Caring-For-Customers.aspx <comment><AUTHOR> The article reminds me of Paul Graham's "The Hardest Lessons..." presentation done at Startup School 06 (I viewed that here: http://startupschool.infogami.com/) about making users happy.

Users may be accustomed to getting their requests and opinions thrown into a pile of ignored requests. And this is where a startup can really shine.</comment>


Why I am happy downgrading from a $500 to a $75 smartphone - <AUTHOR> https://medium.com/@n00b/why-i-am-happy-downgrading-from-a-500-to-75-phone-3a0ed867593b <comment><USER3> I have the Xperia Z3C, it lasts 48 hours.

My issue with cheaper phones is: I don't mind it being slow, I don't mind it having a bad display. But I do mind the camera quality. I take a lot of pictures (multiple a day) which I treasure because it's pictures of my kids. But I hate having a camera with me, so my phone has to have a good camera. There aren't cheap phones with good cameras.

<comment><USER4> Sometimes even decent smartphones cut on surprising camera features. The Moto G has a fixed focus, makes me regret the Nexus S...

<comment><USER5> Moto G is just about the cheapest smartphone you can buy, in USA at least. Moto G 2 has autofocus with tap to choose control point.

<comment><USER4> Cheapest but still not 75$ and the other components aren't under-powered. I didn't know the G2 was improved on this.

</comment></comment></comment></comment><comment><USER6> Sign me in. Just purchased Lenovo A5000 instead of moving from iPhone 4 to iPhone 6. Why?

1) Because I feel Apple has screwed me. The iOS 8 update has turned my iPhone 4 into a brick. My phone now does everything iOS 6 did, but now it is slow as hell. In return, I get nothing new worth of mentioning besides animations (what a giant leap forward, Apple) and eye-bleeding colors. And turtle speed and constant hang-ups.

2) Apple isn't innovating anymore. They are busy adding "features." Sometimes the way iOS 8 works makes me think the whole iOS division lacks ideas about what else they want to add, so they are simply throwing stuff on the wall. It's hard to believe how dysfunctional iOS has started to be when Jobs left.

3) I still get eyebleeding idiotic colors on this Android device, but A5000 is four times cheaper than iPhone 6, and it delivers the same functionality, plus dual SIM capability for travel, and a 4000 mAh battery. (I am not associated with Lenovo, that was an impulse purchase.)

So after 6 years of having everything-Apple at home and at work, I think I am starting to leave Apple. Sad and happy at the same time.

<comment><USER7> Aren't you afraid, given the SuperFish scandal, they also install some bullshit crapware on their consumer phones? Yeah, I know, most vendors do, but the SuperFish was a new level of bullshit and a high security threat.

<comment><USER6> Honestly, I didn't know about it. I usually don't store anything critical on the phone so I am generally not as paranoid as I should be. I just Googled they've admitted they screwed up badly. But the point is, anything can be instead of that Lenovo - iPhone isn't doing it for me anymore as a premium phone, and by premium I mean having outstanding features or UI.

</comment></comment></comment><comment><USER8> That's a serious downgrade, but I'm approaching this similarly, from way up.

I just gave my OnePlus One (beautiful, 'cheap' \- the only thing against it? Really, really big) to my wife to 'upgrade' to an S6 Edge. Boy, what a mess that thing is.

No reception. Bad wifi. Battery issues. Calls are distorted, I often hear the other side in a ChipMunk-y way. And don't get me even started on this TouchWiz crap. Or 'Odin'/'Kies'/'Smart Connect'.

So, I 'upgraded' from a perfect 300EUR device to a crappy/barely working 850EUR device. There's a lesson here: Stick to devices with stock Android experience and ideally stick to a device that is properly supported by CM.

Can't take the OnePlus One away from my wife by now. I do tend to look at my Flame every now and then and have a hard time deciding which phone to carry. The beautiful or the less broken one?

<comment><USER9> > Stick to devices with stock Android experience and ideally stick to a device > that is properly supported by CM.

Yeah, that is why I always bought the Nexus devices from Google. Sometimes there are issues but anything major is fixed by the next patch.

<comment><USER8> I have only one Nexus device. A 7 (flo, the 'newer' one). I migrated that to CM quite some time ago.

Google OTAs are now block-based, as far as I understand. Which means that I cannot change my system and apply the update afterwards.

I have no problems of that sort with CM. So, while Nexus devices might be a good base line, I personally would still move away from official Google releases.

That said, I agree that the experience is quite nice and it sure helps to get timely updates.

<comment><USER9> Fair enough :)

Personally, I tend to worry about the fact CM sometimes bricks phone and would rather have the hassle free stock android.

</comment></comment></comment></comment><comment><USER10> I double up - I really appreciate the power/performance/resolution/features of late-generation phone technology - but I absolutely have to have reliable SMS (OTP), Phone Calls, and Alarms. My Nokia 105 gets between 10 and 12 days on a single charge with moderate usage, and I've stretched it out to three weeks in periods of low usage. It's pretty close to indestructible - so I can toss it in my bag without worrying, and charges fast (~ Hour).

And it cost me $35.

<comment><USER11> Been doing something similar, mostly because i have a featurephone that can do HSPA and i can't be assed to get a smaller sim to fit in the smartphone.

So instead i pair one with the other via bluetooth if i can't find some wifi to use and the data itch gets me.

<comment><USER12> Been thinking of doing the "smart" stuff with a tablet and have a phone that lasts a week for calls.

</comment></comment></comment><comment><USER13> When I'm making a larger purchasing decision, I like to base it on my net worth. It makes things very clear.

Let's say you have a net worth of 25k, which seems about median for a 30 year old in the US.

So you're saying, I gotta spend 2% of my financial _existence_ on a stinkin telephone? A nearly-guaranteed depreciating asset, at that!

For some of you, that might make a lot of sense - you spend 99% of your waking lives on those things. But for me, not so much. I'll opt for the $80 Android I found on Amazon.

I personally rather spend higher percentages of my net worth building businesses and memories/experiences, not things.

<comment><USER9> Yeah, but most of us buying expensive phones are on-call and need a powerful wifi hot spot and a bunch of other things out of it.

I literally can't think of a company where you end up on-call and the expectation is you can respond in [at most] 15 minutes to an emergency/alert. That means a laptop + mobile wifi hotspot [phone] everywhere you go.

The cheaper phones tend to have worse reception. In my office, I used to only get Edge due to the thick walls. My Nexus 6 has no trouble getting to LTE.

<comment><USER14> If you are on call, your company should be paying for your phone.

<comment><USER9> They would if I wanted to have a company phone.

I don't want a company phone and have to juggle two phones.

</comment></comment></comment></comment><comment><USER15> "We deserve a smartphone that can last a whole day without charging"

I claim that any recent smartphone can work up to two days including a few hours of browsing and doing calls, once you disable all (unnecessary) background synchronizations, forcing the hardware awake. At least this is my experience for the Nexus 4.

But reading that the authors phone "used to die with 6–8 hours of moderate usage or sometimes even before that", it seems he had much higher expectations than me. I don't expect a phone to work in "active" mode with screen on for so many hours. I expect it to consume just little power when screen is off and few background synchronizations run, and do not care much about consumption when the screen is on. If you need 8 hours (that is 1/3 day) of screen-on time then maybe your expectations are too high on a smartphone? Additionally you would probably stumble over a power socket in the meantime.

<comment><USER16> So by not using it as a smartphone, the battery will last longer? Well yeah.

My bic lasts years when I don't use it too.

<comment><USER15> My argument was that the expectations are maybe too high, asking for a "a smartphone that can last a whole day without charging", but using it 1/3+ day.

For me that is like saying "When can we have a car that drives 2000km? It usually stops for me after 1000km."

</comment></comment></comment><comment><USER17> I have a Nexus 5 I've had for, well, going on a year and half now, and with the exception of the battery (which for me lasts most of the day), it has been an exceptional phone. For only $400ish (bought full retail through Google), it has met or surpasses my ROI. It is still as fast today as when I bought it. I am always up to date with the latest version of Android. It rarely crashes or even hiccups. I am very satisfied with it. I am a little sad that the Nexus 6 cost so much more, but even if it was the same price as the Nexus 5, I currently have no need to upgrade my phone. I plan on using this as long as it will go, which I'm guessing might be another year or two, maybe even longer.

</comment><comment><USER18> > "Waiting for Android updates is frustrating" > "₹ 30000 for a phone that > cannot even last 2 years is not value for money for me" > "Why not try an > iPhone once? Let's just say I need a mobile for Android app development"

Most of author's arguments are very Android specific. I haven't seen the first two issues I quoted with either iOS or Windows phone.

I would say that the title should be "Why I am happy downgrading from a $500 to a $75 Android "

</comment><comment><USER19> I downgraded too, also from a Sony Xperia to a $70 Blu Life Advance 4.0. It's got a crappy camera and screen, but it handles tethering 4g, music, can run apps and browse the internet. And dual sim + unlocked. I really can't imagine spending $500 - $700 on a phone again, the cheap end is improving all the time.

[http://www.amazon.com/BLU-Advance-Unlocked-Phone- Black/dp/B0...](http://www.amazon.com/BLU-Advance-Unlocked-Phone- Black/dp/B00GXHPN1U)

</comment><comment><USER20> ... TLDR; I don't care about photo quality.

</comment><comment><USER21> I'm an admitted phone-hopper, and while my preferred platform is Windows Phone, I've had to give that up for Android so I don't have to carry two devices. I've had everything from basic phones up through flagships, and I've found the best battery life and balance of features/price to be (unsurprisingly) in the mid-range.

I was using a Nexus 4 for a while, but when my wife's phone died I gave her that and got a 2014 Moto G. So far I'm very happy with it, especially given I only paid $150 for it with no contract. It's not quite as snappy as the Nexus 4 was, but the screen is a bit nicer, the battery lasts a bit longer (usually at ~60% when I put it on the charger before bed), and the camera is definitely better. It has a few quirks, things I've seen on many Motorola phones (the earpiece doubles as a loudspeaker, and it randomly switches volume during a call; the ambient light sensor sometimes stops working so I end up with an extremely bright screen at night). But overall I feel I've gotten my money's worth and then some.

I do miss my Lumia 925, and I'm looking forward to sampling whatever Windows 10 Mobile devices come out over the next year. But I'm more than satisfied with my budget phone.

</comment><comment><USER22> Just like with Chrome, Google keeps bloating and bloating. Nexus 6 doesn't last even 4 hours for me. It just sits silently in my pocket and dies without much fanfare. I have basic Google apps, Facebook, Twitter, and a few more. I don't do anything, and when I look at battery breakdown, it's Gmail and Inbox that use more than 20% of the power. Every time I need to go outside of home for more than a couple of hours, I get anxious as I know my phone will give up on me and I don't like carrying power reserves, cables, and all that we shouldn't be doing in 2015!

In general, Android keeps disappointing as there are such idiotic problems that I wonder if Android engineers actually use Android phones in real life. For example, taking videos since day one is a huge pain. You start shooting a video, and then you start cursing shortly after, because background apps kill video quality. How hard is to get this simple thing - shooting videos is a CPU-intensive job, pause everything else until the video is done? This is one of the many issues, I just recently struggled with shooting videos and decided to buy a camcorder again to use for the more formal events and use the phone only spontaneously.

</comment><comment><USER23> I use a Galaxy S (the first version), purchased 4 or 5 years ago, can't remember. Upgraded it to KitKat with a custom build (MacKay) a year ago, was happily using Froyo before that.

I love it's small footprint and plastic back. It's kidproof, verified by my two test engineers here in various incidents. Changed it's battery once, lasts almost two days based on my usage.

For the last three years, I'm trying hard to justify buying a new phone based on my use case and can't come up with a good reason. I shrinked my usage to email mostly. Twitter is so time consuming, I'm happy that my phone can't keep up with it's basic hardware requirements so I gave up using it 2 years ago. Same story with Facebook and other popular apps. Staying long on a not up-to- date hardware trims your excess device usage and makes it hard to have a reason for upgrade.

I was about to buy Xperia Z3 Compact for its smaller size and long battery life but turned down by glass back and lack of physical home button. I guess I'll shop for a second hand Galaxy S if this one dies on me.

</comment><comment><USER24> Android got a lot slower lately, so I'm hesitant to go to a cheaper phone.

<comment><USER25> I switched from a $550 two-year-old Android phone that has become unusably slow to a new $200 phone that is snappy and quick, network permitting.

I really think the age of the phone has more to do with the speed than the price (and I suspect this has more to do with software than hardware going bad.)

</comment></comment><comment><USER26> It may sound like Flintstone, but after using 3 different feature phones for 6 years, and then 4 different (mid to high end) smartphones in the next 6 years (till now), I found no better "phone" than Nokia 1100 ($35). the reasons-

1\. You would have to charge it twice in a week, at most. Mostly I ended up charging it once/week. It would actually run longer with low battery warning than today's most smartphones' whole charge cycle.

2\. It was convenient to hold, small enough to lose in any kind of pockets. At least I never had to take the phone in to account when buying pants, which I need to do now, for smartphones.

3\. The phone would last forever, only you would have to change the battery in every two years.

4\. It was rock solid. You could use it as alternative to stone to hit something.

5\. After all, there is no more satisfying communication method than voice call. And there is no more satisfying game than snakes.

I wish I could buy a Nokia 1100. Today's Nokia feature phones are sensitive, fragile, bulky and they stop working in couple of years.

<comment><USER27> I still have and am using my 1100. Since I am still using the original battery the life is down to about a week. If I buy a random battery off the net, chances are it will be crap. You, of course, can't get original batteries anymore.

The 1100 is the most popular cell phone in the known universe:

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

</comment></comment><comment><USER28> This post is the reason why Apple is doomed on the longer run. Yes, expensive cute phones sell a lot early on. But no one sees value in spending that kind of cash every two years, for very little value in return.

This is basically the repeat of the desktop market in the 90's and early 2000s. Except that we now have Android instead of Windows as the dominant alternative.

<comment><USER29> I think you're giving the mass consumer a fair bit too much credit. People still stand in lines to buy the 6, which is something like the 11th generation (if you count all the intermediate minor-rev phones).

Why? Apparently so they can have it before everyone else...for 48 hours...

(iPhone 5S/Ting user, bought 'em used for my wife and I a few weeks after the 6 came out and a bunch of people dumped their "obsolete" 5Ss. So I agree with you in philosophy, but disagree that enough people think like that to "doom Apple")

<comment><USER28> You don't see people stand in lines for other smartphones because they are not released as mass media events. And the crowds would be to large to work as a queue. Those phones are selling all the time, hence no need for the queue.

Queue's are needed when you need some kind of a priority based selection.

<comment><USER29> I agree the queueing is unnecessary, border on insane. However, the fact that many of the people queued up (whether literally or figuratively) to buy the 6 were using their perfectly good 5S to pass the time is some amount of evidence that people do see some value in buying expensive phones every year or two and Apple isn't doomed.

</comment></comment></comment></comment><comment><USER7> I've a low-end Xperia which I use almost entirely for calling and texting - <USER2> apps, no browsing, disabled WiFi and data transfer. The battery lasts a week :) and I don't get any annoying notifications or waste time on pointless apps. I'm planning to get a "dumbphone" with small screen and physical keyboard, but I can't find one with an incoming calls blacklist which is a must for me. Other than that, I'll happily throw my smartphone away and never use one again.

</comment><comment><USER30> I have a Samsung Galaxy S5... I seriously hate that sometimes the dialer app crashes or freezes when I'm receiving a call (and I end up being unable to answer that cal).

I mean, seriously... THE DIALER APP?!?!?! Even a $10 Nokia has a stable dialer...

</comment><comment><USER31> So basically the argument here boils down to, "I should have gotten an iPhone instead"? Because it seems to solve all of the named problems.

</comment><comment><USER32> We can build phones that last us a few days on a charge already. We have all the technology we need. The problem is we (both customers and OEMs):

1) don't _really_ want a slower/more efficient processor (like Cortex A7/A53)

2) don't _really_ want a smaller ~4.5" screen

3) don't _really_ want a 960x540 or 800x480 resolution

If we could build a "premium" phone with _those_ specs (for instance the same resolution, but a much newer and more efficient display technology) we could make them last even more than these low-end phones where we typically find these specs.

<comment><USER33> How do we (and the OEMs) know that there isn't a large enough subset of customers that want these things? I'm guessing many customers would accept a weaker processor and lower-resolution screen in exchange for more battery life if the phone's marketing emphasized the battery life over the processor and screen specs. And while we're at it, why not go all the way to a Cortex A5?

<comment><USER34> I'd like to know as well.

I remember seeing some data about iPhone battery life over the generations. Apple has basically held it steady - as the processors and screens have improved, the power efficiency has improved just enough to hold battery life constant.

The exception to this was the 6+ which due to it's larger size, had a fair bit more battery life.

Personally, I'd love a phone with 6+ battery life or better in the 5S form- factor. I don't need or want a large screen - that's why I have tablets and laptops.

<comment><USER35> [http://sixcolors.com/post/2015/01/battery-life-apples- solvin...](http://sixcolors.com/post/2015/01/battery-life-apples-solving- for-x/)

<comment><USER34> That's the one, thanks. I'd love to see some of the research that determined 'x'.

</comment></comment></comment></comment></comment><comment><USER36> My OnePlus One happily lasts me 36hrs and that's _with_ regular to heavy usage. On moderate usage I could easily get two days out of it.

<comment><USER37> Even though it's great value, it still costs around $400

</comment></comment><comment><USER38> That last comment didn't make sense. Why throw in the iPhone mention for no reason?

<comment><USER39> I believe that iPhones have a reputation for better power management and therefore better (or at least more consistent) battery life, hence the iPhone mention.

On a side note, because there are more of them, there are also more options for external battery cases, just as there were extended battery options for some of the more popular Android phones when removable batteries were standard.

</comment></comment><comment><USER40> >Moto E image taken from its review on The Guardian

That link back to the Guardian gives him any rights to use the image. In fact he's probably making it easier for the rights holder to track him down now that he has linked to the page.

Not that I think the Guardian would care... but still. Don't use other peoples images without permission.

</comment><comment><USER41> For battery life: why not just bought an external battery like this: [http://www.aukey.com/product/dual-usb-external-battery- pb014...](http://www.aukey.com/product/dual-usb-external-battery-pb014-black)?

Problem solved...

<comment><USER42> The issues with an external battery are: Phones tend to die when you're using them. This means you're either constantly plugging/unplugging, or you have a cable hanging out of your pocket all the time. My LG G3 can easily drawn than a smaller battery can supply, so it'll still go dead. A big enough battery is a large, heavy thing. It will monopolize a pocket or small purse.

From a strictly emotional standpoint, the idea that I _must_ carry a separate battery if I plan to be away from a charger all day is just stupid.

</comment></comment><comment><USER41> For battery life: why not buy an external battery like this: [http://www.aukey.com/product/dual-usb-external-battery- pb014...](http://www.aukey.com/product/dual-usb-external-battery-pb014-black)?

Problem solved...

<comment><USER43> Because that's not convenient? It's like bigger than the phone itself, you cannot really stuff that into your pocket anymore.

</comment></comment><comment><USER44> using nothing but moto g's these days. Good enough and doesn't matter if it gets lost</comment>


Microsoft Updates Visual Studio - <AUTHOR> http://techcrunch.com/2014/04/02/microsoft-updates-visual-studio-with-support-for-universal-projects-typescript-1-0-and-net-native-code-compilation/ <comment><USER2> .Net native code compilation, aka static linking for the .net age. This feature is a LOOOOONG time coming, they should have had it available a decade ago.

P.S. Mark my words, this is going to be a huge deal. Especially since MS is acquiring Xamarin, which basically does the same thing, but for mobile platforms. With the ability to develop in .net languages and still deliver a plain-jane .exe that doesn't require jitting it'll open up a lot of new opportunities. Especially if they start targeting non-windows platforms like linux, iOS, and android with fully-baked tools. Imagine how much more popular C# would be if it wasn't tied to the Windows platform? And if you could choose whether or not you wanted to ship a small managed exe or a fat native exe that launched quickly?

<comment><USER3> The inherent slowness of .net is the ONLY reason that I'm sticking with Delphi... It'll be a dream if we'll be able to compile .net/c# programs into native and runs FAST!

<comment><USER3> well, by "It'll be a dream " I actually meant "I dream of being able to native compile c# app for the desktop". Sorry for the bad English.

</comment></comment></comment><comment><USER4> There are rumors that Microsoft is considering the purchase of Xamarin [1]. And now Microsoft is now previewing their .NET AOT compiler for X64 and ARM. I see great things in C#/.NET's future in mobile and cross platform development.

On another note, I wonder if Microsoft addressed the inherent limitations of AOT in C# [2]. I wonder if it's a compile-time error, or if that segment of code is interpreted. I doubt it's interpreted, as that's a giant perf loss.

[1] [http://www.wpcentral.com/microsoft-reportedly-considering- ac...](http://www.wpcentral.com/microsoft-reportedly-considering-acquisition- xamarin)

[2] [http://www.mono- project.com/AOT#Limitation:_Generic_Interfac...](http://www.mono- project.com/AOT#Limitation:_Generic_Interface_Instantiation)

<comment><USER5> Are they even still rumors? I thought that had been announced.

<comment><USER6> This seems to be the sole source of those rumors:

[http://www.crn.com/news/mobility/300072056/sources- microsoft...](http://www.crn.com/news/mobility/300072056/sources-microsoft-in- talks-to-acquire-mobile-app-development-startup-xamarin.htm)

"Microsoft is in the final stages of negotiations that could lead to either an acquisition or major investment in Xamarin, sources with knowledge of the discussions told CRN recently."

The article is from march 17th and there doesn't seem to be anything newer.

</comment></comment></comment><comment><USER7> Native compilation! This are great news.

Never got the point why Java and .NET adopted a VM approach, back in the days when we already had safe systems programming languages like Modula-2, Modula-3, Oberon, Ada, Delphi with AOT compilers on their canonical toolchains.

<comment><USER8> The purpose of using a VM is that the developer ships one version of their compiled software that can be run by anyone who has the VM on their system. Otherwise, the developer needs to anticipate every single architecture a user might want to run it on. They might not be able to anticipate all these cases which might not even exist yet.

<comment><USER9> There is also the Go approach, which is your code is platform independent, but you need to compile it for each platform. You get native code that is portable, best of both worlds. (Some might argue "Good C" can do this, but that is often quite hard and C doesn't have the kind of stdlib that Go has..)

<comment><USER10> I'd call that the static compiling approach, not just the Go approach. It's possible to statically compile in a wide range of languages.

<comment><USER9> I was using Go as an example of this. The majority of statically compiled languages don't support compiling the same source code to a multitude of platforms.

The _same_ Go code and be compiled for x86, amd64, ARM and runs on Linux,OSX,Windows,FreeBSD,OpenBSD,NetBSD,Dragonfly,NaCL,Solaris and Plan 9. Not many statically compiled languages pull that off.

<comment><USER7> You can only pull that off in Go as long as you only use the runtime library, which is no different than other language.

As soon as you bring a third party dependency, game over.

<comment><USER9> >>As soon as you bring a third party dependency, game over.

There are tons of 3 party libraries written in pure platform portable Go that will cause you no issues. In fact the vast majority of 3rd party Go libraries are just as portable as the stdlib.

<comment><USER7> So they provide implementations on all targets supported by Go compilers for the features required outside stdlib?

<comment><USER9> The point is they don't have to- while Go compiled binaries are platform specific, pure Go code is platform independent. That means any platform that runs "go build" can run your Go program.

<comment><USER7> You are avoiding to answer the question.

There isn't pure Go code if it requires to touch the file system, talk to OS using APIs not available in the stdlib.

The moment you depend on libraries outside stdlib, you are opening yourself to dependencies to cgo and/or OS syscalls outside your control.

Even some stdlib packages are UNIX specific, e.g. os.user and log.syslog.

<comment><USER9> >You are avoiding to answer the question.

I'm really not, I am missing your point.

The majority of 3rd party Go code simply uses the Go stdlib just like our hypothetical program.

Go is no less platform independent then Java, for example, yes there are some 3rd party Java libraries that use JNI, just like some Go libraries use cgo.

The fact that these native bindings to (often) platform dependent code exist does not make pure Go/Java programs non-platform independent.

Maybe our misunderstanding is what we mean my 3rdp party libraries, I'm thinking of the Go repos people put on github or the Gorilla project ([http://www.gorillatoolkit.org/](http://www.gorillatoolkit.org/)), I am not talking about using cgo to call glibc or something similar.

<comment><USER7> > Maybe our misunderstanding is what we mean my 3rdp party libraries, I'm > thinking of the Go repos people put on github or the Gorilla project > ([http://www.gorillatoolkit.org/](http://www.gorillatoolkit.org/)), I am not > talking about using cgo to call glibc or something similar.

The thing is, there aren't first and second class 3rd party libraries, all are 3rd party.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> Looks like I'm going start reading up on C# again! It's been a good 4 years without touching .NET but these developments make my want to try a hand in mobile Windows 8 development.

</comment><comment><USER12> This confirms to me that as a software agency we were right to stick with C# even when it was "uncool" and there were plenty of new kids on the block (I'm looking at you RoR).

There were a number of times when I wondered if we had backed the wrong horse in Microsoft but being able to gain traction on mobile development (assuming the Xamarin purchase goes ahead) and other changes such as native compilation makes me happy with stuck with them.

</comment><comment><USER13> But does it support inline x64 assembly yet?

<comment><USER7> It never will, it is a design decision. Even Intel pushes for intrinsics.

<comment><USER13> Those don't do the same thing.

<comment><USER14> They don't, but they're a lot saner to deal with. I don't even use inline assembly where it's supported; all the magic of a compiler, all the foot shooting of assembly, none of the transparency of either.

I'm happy either using intrinsics, or implementing assembly in separate .S files; I can't recall the last time my avoidance of inline assembly prevented me from implementing something I needed.

</comment></comment></comment></comment><comment><USER15> if only Visual Studio runned in other os's...as a matter of fact i know many developers stick with windows JUST because of vs...

</comment><comment><USER16> I'm sticking with 2012, until 2013 stops crashing!

<comment><USER16> Why am I being downvoted? I can't use VS 2013 because it is unstable... I wonder if there are MS saboteurs among us.

</comment></comment><comment><USER17> And yet, we still can't get menu labels that don't make me wonder if it's 1986 again.

<comment><USER17> What, too soon?

</comment></comment><comment><USER18> Plugin developers are delighted - yet one more runtime version to support! Nice move Microsoft!</comment>


Microsoft Announces New Silicon Valley Campus - <AUTHOR> https://news.microsoft.com/modern-campus <comment><USER2> For the love of god, could you build the thing in Hayward? Fremont? Pleasanton? Anywhere that isn't the peninsula?

<comment><USER3> It almost feels like it is strategically placed between the 101 exit and Google main campus so as to be visible to Googlers who are waiting at the off ramp...

<comment><USER4> fyi they are already located there.

</comment></comment></comment><comment><USER5> > spaces to spark creativity with teammates

Uh oh. We know what that's code for.

> Focus and privacy can be found in a soundproof drop-in phone booth

If focus and privacy aren't properties of my primary, permanent space then I'm not considering it a viable employment option.

<comment><USER6> So there is an implicit promise that no work requiring focus will be expected to be done at one's desk then?

<comment><USER7> That's pretty much what an open workspace means.

Every open workspace should come with a free pair of noise-cancelling headphones.

</comment></comment></comment><comment><USER8> This feels more the fault of local government that just lets large tech companies have their way.

If you read this: [https://blogs.microsoft.com/?p=52550473](https://blogs.microsoft.com/?p=52550473)

you'll see that their post does not mention the housing situation at all. I wonder where they will find all the non-engineers and execs - the janitors, the guards, the cooks, the receptionists - who are being pushed out by every acre that gets taken over by Apple/Google/MSFT.

</comment><comment><USER9> Didn't they recently let a lot of folks go from Silicon Valley?

<comment><USER10> Yep.

</comment></comment><comment><USER11> >Microsoft has begun a major modernization of its 32-acre Silicon Valley Campus, a project that represents a significant investment in more than 2,000 employees in the San Francisco Bay Area and the company's commitment to creating the best employee experience in the industry. It is scheduled for completion in December 2019.

Two years? Damn.

<comment><USER4> seems pretty quick considering municipal approvals and whatnot.</comment></comment>


Show HN: Just an idea about a peer-reviewed social news site - <AUTHOR>

We all love HN because here the content is heavily moderated to avoid silly stuff. So i was thinking it would be great to have something similar for my other interests. Problem is, it's impossible to find a team of people to moderate a news channel. So I was thinking what if each post was vetted by 2 anonymous reviewers before it appears on the site? Would that help filter out irrelevant/funny stuff? I didn't really research if someone has done it before, so here is my take: http://textchannels.com/ . (With apologies to HN makers because i stole many of their ideas). <comment><USER2> I think the beauty of HN is its simplicity. It is beyond all the fancy social web fluff but just "delivers". Almost like a Craigslist for tech news.

A peer reviewed process is very problematic because news are, even more than research, subjective. So if you are aiming for a truly "fair and balanced" news channel it might work. But even if the news itself are written from a neutral standpoint it sill might give wrong expressions. For example right at this moment 5 of the last 5 news deal in some form with Apple.

</comment><comment><AUTHOR> Clickable: <http://textchannels.com/page/about/></comment>


Concrete blocks that once protected Britain - <AUTHOR> https://www.bbc.com/news/in-pictures-46348917 <comment><USER2> There was some discussion of this a couple of days ago:

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

</comment><comment><USER3> Absolutely fascinating, I never knew these existed, thank you.</comment>


The FBI Could Have Gotten into the San Bernardino Shooter's iPhone - <AUTHOR> https://www.eff.org/deeplinks/2018/04/fbi-could-have-gotten-san-bernardino-shooters-iphone-leadership-didnt-say <comment><USER2> An odd catch-22 of not investigating other possible solutions so they could get a legal precedent is that they couldn't tell anyone outright that's what they were doing. So someone trying to he helpful ended up ruining everything. No no good deed goes unpunished.</comment>


Ask HN: Is the FreeBSD logo/mascot offensive to Christians - <AUTHOR>

I was wearing my FreeBSD shirt with the FreeBSD bobble logo on it, and a couple of Christians approached me and began to proselytize. I tried to explain to them about FreeBSD, but no luck.<p>Should I not wear the shirt? Or were they over reacting? <comment><USER2> You are completely free to wear a FreeBSD shirt, a "I love Satan" shirt, a Buda Shirt or whatever you like. Equally Christians are free to wear a "God loves you" shirt and I'll take no offence. I have a shirt with Jesus as a Dj. That is, you are not approaching Christians and telling them that they believe in an imaginary friend, that would be proselytizing... yet they insist on make you believe on their imaginary friend and take offense if you show that you don't care... If some Christians/Jeowah witness/whatever approaches me and tries to proselitize me I'll feel free to throw my reason into their minds and make them realize they are wasting their lifes.

</comment><comment><USER3> Could you define "proselytize"?

I.e. were they denouncing you or were they trying to convert you?</comment>


Inertia.js: New pattern to create server-driven single-page apps - <AUTHOR> https://reinink.ca/articles/introducing-inertia-js <comment><USER2> Here's a not incomprehensive list of similar implementations of this idea: Phoenix Drab/LiveView/Texas, Razor Components, Plotly's Dash, Intercoolerjs/Unpoly (provides view layer only without websockets), Rails StimulusReflex, Ruby Fie, Python Sofi, Python Remi, Node.js Purview, Python Flexx, Python Reahl (AGPL licensed), Python Wdom.

I am sure I missed quite a few. Feel free to comment down below with any other library.

<comment><USER3> Hey there! Author of Inertia.js here. Inertia.js isn't really comparable to these libraries.

The goal of the libraries you listed is to avoid writing JavaScript entirely (or as much as possible), pushing this work to the server. Inertia.js, on the other hand, embraces using client-side frameworks like Vue.js and React, striving to find a happy medium between classic server-side rendered apps and full-on single-page apps.

Inertia.js allows you to create fully client-side rendered single-page apps without the need for client-side routing or an API. It uses classic server- side routing and controllers instead, which makes it super approachable to those coming from a server-side framework like Rails, Laravel or Django.

<comment><USER2> So something like stimulusjs? Out of curiosity, have you tried those websocket based Uİs and what are your thoughts on those?

</comment></comment></comment><comment><USER4> Nice work! This is close to what I do with most new Rails app when I want more Asynchronous functionality.

</comment><comment><USER5> This is a very good way of loading components dynamically, and the approach is pretty sound. We use the same technique at yazz.com to dynamically load components with Vue.js:

        <component v-bind:is="page.component"></component>

</comment><comment><USER6> Quite a nice explanation of the pattern, I might try this setup.

No real need for the author to make another js lib out of it, but hey, doesn't hurt.

</comment><comment><USER7> Yeah this is a good way, I use that since around TypeScript and react really started working together, it's a bliss</comment>


Ask HN: Where should I work: Facebook or Google? - <AUTHOR> I'm trying to decide where to work between these two companies as I have offers from both of them. I'm aware that they are similar in a lot of aspects since they're both huge companies. What is HN's opinion on this decision? Which would you pick? <comment><USER2> Which offer is richer? Which team did you get a better feel from?

I don't have any experience with the culture of either, but I would imagine in an organization that large there will be teams at Facebook that will seem more Googley and more teams and Google that seem more Facebooky

Other than prestige (which I think they are on equal footing) I don't think generalizations of the entire organization will be to helpful.

</comment><comment><USER3> Facebook intentionally addicts it's users, and research increasingly shows that the use of its product is associated with declining mental health. Facebook plays a clearly negative role in society and is apparently run by people who don't respect the public. No one should work there.

</comment><comment><USER4> I would pick Google easily. They're working on a product I can't live without. They don't have "the largest open office in the world".

</comment><comment><USER5> Personally I would prefer Google, because there seems to be more chances to work at more different types of projects (Google does more different things?), and I don't feel good about Facebook a bit seemingly trying to create a closed Facebook-only Internet. (On the other hand, google does AMP which creates a never-need-to-leave-Google-Search Internet, but I prefer that to a FB-only- Internet.)

<comment><USER4> Arguably, Google is making a closed world with Google. Browse the internet on a Google browser, using a Google phone operating system. Google reads all your emails and hears what you say at home. Soon we'll be riding to work in Google cars.

It's worse than Microsoft and surprising they got so far. But I guess when your motto is "Don't be evil", people trust you.

</comment></comment><comment><USER6> 1\. If you know the teams you'd be on, pick the company with the team you prefer.

2\. If you don't know the teams, just pick the better offer. They're very similar in a generalized sense.

</comment><comment><USER7> Flip coin.

If you like the side that popped up - go with it.

If you don't like that side - go for what you'd prefer.

<comment><USER8> Typically you'll know which you really want as soon as the coin is in the air.

</comment></comment><comment><USER9> Neither. Work for a company that generates revenue by not encroaching on the privacy of every human being on Earth.

<comment><USER10> Yes, third option. Contact DuckDuckGo and submit your resume. [https://duckduckgo.com/hiring/](https://duckduckgo.com/hiring/) Who knows, they might be the next Google, minus the privacy concerns!

<comment><USER11> >they might be the next Google, minus the privacy concerns!

Communist until you get rich, atheist until your plane is crashing.

</comment></comment></comment><comment><USER12> Don't base a significant career move based on other peoples perception of the companies involved.

Choose the company that will offer you the best long term prospects and variety.

</comment><comment><USER13> You have standing offers from both? Kind of doesn't matter until you do. There are a number of differences between them--being big doesn't make them the same.

What kind of problems do you want to solve? Where are you willing to relocate to? What language(s) do you want to work in? Etc.

</comment><comment><USER14> Any other options besides advertising shops?

</comment><comment><USER15> Both offers a great in terms of their "seize".

But whatsoever you should follow your heart. Which campus felt better, which team made a good impression. Go for the people and your gut, not the name.

</comment><comment><USER16> Take it from someone who took the advice of others too much to heart when I had two offers -- go with the one YOU want best. I ended up making the decision that sounded good to them and I regret it.

</comment><comment><USER17> What made you chose those two companies among the million others?

</comment><comment><USER18> Take a close look at the teams. A friend of mine had several offers from teams at Google. The first team she choose sucked and she was ready to leave a month after she joined. After a chat with HR, she was transferred to her second choice and has been there for years.

Let the companies know you have multiple offers and that you wish to have one more additional meeting with your potential workmates.</comment>