skysight-inc/HackerNews huggingface dataset:
>Respecting known limitations and working within best practices is absolutely not premature optimization.

Absolutely.

I'm not saying throw caution to the wind and poll a remote host constantly and indefinitely, as I said originally, I think it's right to be concerned about resource usage. This is just a baseline for decent software. Be a "good citizen" and all that. (In most cases) If you can make one query for 100 items, rather than 100 queries, or 10 queries, do that. But that's just common sense.

>Excessive power drain is undoubtedly a bug. I absolutely love apps that respect the fact I want to go as long as possible without charging my phone.

Again, I think we are in agreement. Excessive drain is a bug, but my experience is that if you're already following best practices and not doing anything wild, you won't be a battery hog.

The article makes a HUGE list of do's and don'ts

I think it can be a lot shorter:

* just because you can, doesn't mean you should

* learn and follow best practices

* be mindful and conservative in your usage of all resources on the system

> I might often be in a position where I can't charge my phone too. (Carrying a second or third battery is useful, if you've got a phone that has a replaceable battery.)

(gadget aside)
Even if your phone doesn't have a replaceable battery, there are a lot of slim, rechargeable battery packs you can buy for around $20, many with short little USB cords that fold up in to them and others where you can use your own cord as well. The nice part is it will still be usable even if you change phones, and can be shared with other devices and people if needed. Some of them will even let you charge them inline with the phone so you're only using one usb port.

What are you doing on your phone/what phone do you have that you need 3 batteries?
I still use C++ since there still doesn't seem to be a better option for creating cross platform GUI apps than C++ with Qt. Desktop Apps are no longer 'cool' and other than Qt there doesn't seem to be much happening in the Desktop space. For scripting I use lua since it's a lot easier to embed than Python.
I just gave it as an example. Brain one place hardware in another. It just doesn't require imagination using iOS & iphone-esque RAM/processor on an ipad.

$50 - In the ipad example, I imagine that would be the cost difference for the brain. Maybe a little more, I don't know. But there are definitely decent android tablets in the 100-$200 range. The whole premise of the-phone-is-the brain seems to be that this is all you need on your desktop. Anyway, Apple don't do stuff like this because its cheaper.

But I don't really see a big cost savings. File sharing might be a bit of a win, but small compared to cloud based patchwork stuff (drive, dropbox emailing files). Apps are easy enough to install in iOS anyway and you could make app purchases be cross platform if you are all in the same ecosystem.

Basically, I see the advantage of iOS on the desktop. Its clean and easy and better for a lot of people. But why complicate that by outsourcing processing to a different device? If you want iOS on a laptop, just put iOS on a laptop.
Some thoughts about mobile business data
46% of apartment traffic is now mobile as well. I work for a company that hosts 10,000+ apartment websites and pulled the google Analytics that we aggregate across all of them.
MQTT over websockets with javascript, apache, and active mq
Though I doubt anyone is going to call you bad at writing if your press releases start sounding like Hemingway and Shakespeare.
I type about 90wpm on a keyboard and I can get a pretty consistent 55wpm - 60wpm using an ipad iwth the touch screen keyboard.

I've used it as a big part of a content creation when creating with training materials and writing sop's, etc.

It's obviously slower than my normal typing speed, but I've actually been surprised at how content I've been using it for that sort of thing. If I'm authoring anything of any substance, the bottleneck is usually my brain and not my typing speed, as far as phrasing and structure goes. I had originally thought about getting an external keyboard/keyboard case for it, but once I realized I could bang out text pretty quickly, I said "screw it" and just got a smart cover. I also hated the idea of bulking the thing up.

I've also done a lot of document notation and review with PDFExpert adn that experience was really handy. Obviously you wouldn't make the final edits there, but given the right software, I don't think it would be that crazy.

Obviously hugely subjective and ymmv

I've also wondered how much could be done with a touch screen-only interface for code editors, using structure detection and the sort to input elements.

After using Lisping for a bit on the iPad, I think you could really do some interesting things to make a really productive editor on an ipad. I really like that project because it seems to be the only editor I've found that really tries to embrace the tablet experience from the ground up. It's not perfect, but it's definitely a step. Not sure there's a market there, but it's interesting to me.
Yes, most people who play Starcraft II have something called "Ladder Anxiety."

There's even an article on Liquipedia (Team Liquid is one of the most prominent teams in the professional Starcraft scene) about anxiety during play:

http://wiki.teamliquid.net/starcraft2/Dealing_with_anxiety

In general, I've found that, long term, if you are playing to win, it's not worth it to focus on the ladder - the MMR system will pit you up against people who are better or worse than you, in order to keep your winrate about even. It makes the game much more stressful than it is fun, though it does also make you think and move faster.

I prefer playing comp stomps (versus AIs) or casual games (like monobattles), something that I would have scoffed at when I was younger (and more competitive).
I am working on an open source project in the same space. "Screenshot": http://flipper.foraproject.org
Well, he admits he was never very at ease with C++, so I guess he can be forgiven for not understanding very few C++ programmers are going to jump into a garbage collected language. If they were, they would have moved long ago. Most of the times you need C++ nowadays are because a GC language simply won't do.

Kind of silly he drew up his language based on one Google need and thinks everyone using C++ should just jump aboard, though. He acts like he studied why people were writing in C++ and took their use cases into account instead of just his own. Kind of a stereotypical engineer who writes an app for themselves that utterly fails in the consumer market because it is written by coders for coders with weird controls.
My point is there's a very valuable window at that age to permanently learn things. The window should be used to, for example, learn a ton of vocabulary in a foreign language. Or learn a bunch of arithmetic tables by heart, so you can do mental arithmetic without even thinking hard. To waste the window is silly. Learning such things as I mentioned isn't "parroting."
Not really. Pure self interest can explain this. As far as I know they were (and still are) underdogs. Free speech is one of the things that favours underdogs, and is not easily openly attacked.
> as opposed to the Captain Kirk types?

What do you mean by "Captain Kirk type"?
NY Private Schools Are Expected to Drop a Dreaded Entrance Test
All true, but note that the Wave server is free and open source: http://incubator.apache.org/wave/about.html
How People Read Online and What to do About it
I always say, all of these "replacements for C++" don't feel like C++, they feel like statically-typed Python. Which is great, if you want statically-typed Python. There's a lot of fantastic uses for statically-typed Python.

But they're not C++. As soon as you tie the whole language to a garbage-collector and leave out any real mechanism for metaprogramming or even simple generics, you've lost me.

Pure text-based lexical macros like templates are a weapon of last-resort for language design... but it's not an optional one. Dynamic-typed languages cheat by offering a simple "exec" statement/function. Static languages have a religious objection to offering a first-party preprocessor, because they have the hubris to believe they can solve every possible problem ever within their language.

Nobody is that good at programming language design. Not Pike, not Gosling, not Ritchie, not anybody. The difference is that Ritchie's team knew that, and didn't try and pretend that every single thing could be easily and performantly expressed in their language, and made the hackish ugly macro system to solve the edge cases... and it worked.
I use a keyboard with an iPad all the time. This can work badly in some web editors.
If you are looking for a pragmatic operative system, freeBSD is going to be at the bottom of the list thanks to it having the hardest licensing requirement for included software projects.

Ubuntu include anything from proprietary freeware blobs, to GPL, to permissive licensed software. So long the inclusion improves the practical use, it is included. The more ideological free software operative systems excludes the proprietary freeware blobs, but keeps the GPL licensed and permissive licensed software. FreeBSD excluded both proprietary freeware blobs and GPL licensed software, and only uses software that is permissive licensed accordantly to the OSI standard. This methodology also cover driver support for hardware, as they won't port a linux driver to BSD if the linux driver is GPL.

However, most commonly used GPL software has an permissive alternative, so if you are lucky, using those alternative won't impact you too much. On the server side, I would think that is more true than for the laptop.
Nokia had an interesting vantage point.

Usually disruptors start with a very low end non significant part of the market and chase competitor gradually out.

That's what they were left with after the unexpected smartphone boom.

So the chance for them to recover was there with a small shift in strategy but after they gave that up and bet everything on Microsoft they got doomed.
I am so happy they decided to include comparison operators in text/template and html/template [1]. It drove me nuts to have to write comparison functions and call them from within the template. Yes, it kept some logic out of the template but in my opinion it added an unnecessary layer of indirection.

[1]: http://tip.golang.org/doc/go1.2#text_template
This place is only incidentally run as a semi-democracy. The goal is not to get the stuff on the front page that the most people want but the stuff that satisfy peoples intellectual curiosity.

If you want a completely democratically run internet forum, create your own subreddit or on www.reddit.com.

Incidentally Hacker News was made partially as a response to the decline of the general reddit communities and with the hope of addressing at least some of their failures - such as relying too much on democracy.
It is wrong to treat other people simply as a means to some end or goal.

I'm not sure what exactly this means. How do you interact with someone besides as a means towards an end (even if the "end" is just a fun conversation, or perhaps your own sense of altruism).
Four is the magic number
"Arguably Essays" by Christopher Hitchens

"Letters to a Young Contrarian" by the same.

and "Unpopular Essays" by Bertrand Russell.
1. Macs do support multi-tasking, but the interface for it is poor. This could remedied, especially if OS X would detect a larger screen and add an additional menu bar.
So how do you use ports in practice? Do you use sources or binary packages? Which management solution do you use, or do you just use the make files? I am constantly thinking about revisiting BSD, but in contrast to your experience I found the apt package solution to work very well and just be better.
But in some cases like mine you have legacy code. You still have to ship new features and bug fixes. If I get to green field something really new, then Haskell or Scala might be on the table but currently they are not options. Not even embedding them.
That shouldn't make a difference. If anything, it should help as it would better match your screen to the ambient light, allowing you to make better choices.

I've heard a lot of people in graphics who use f.lux or redshift only to turn it off when they do graphics work, but I find more accurate results if it is left on. This calls for another experiment!
With the latest Chrome on Windows, it wouldn't let me drag anything. When I hit "score test" without changing a thing, it said I was perfect.
This reminds me of John Thain at Merrill. The company was headed for the toilet before he got there. He was the boss as the share price fell through the floor. He found a buyer, then asked for a large bonus. Ultimately he was rebuked, and left the combined company.

The difference here... The CEO came from the new buyer, and is getting paid off the acquirer. It certainly looks bad. But... If he was wise enough to sell the company before disaster, there is something to be said for that.
I just didn't do the "dumb" homework. Physics and math and such were interesting to me, so I was happy to do those.

I laughed so much at your comment, cause I used the same techniques.
I agree. I am thankful for my dull, rote learning of multiplication tables.

I do maintain my reservation above however. Currently, schools are doing way too much rote learning, and do not teach the fundamentals of good thinking.
I did insertion and selection.
"There are always enough jobs." That's patently rubbish as can be seen all around the (1st) world at the moment.

However, I don't agree with the parent's comment that technology causes a lack of jobs - also obviously untrue if you look around you.

Currently we're on the tail-end of a recession, thus money isn't moving around, thus it's harder to insert one's self into the money stream.

As people start spending, jobs pick up. This is already happening in most of the richer parts of the recession hit world. Here in the UK, unemployment has been dropping steadily. New small businesses are appearing fast. Manufacturing's on the way up.

FWIW, I agree with everything after your very first sentence.
Very few firms actually just want a body. Sometimes HR acts that way, but very few hiring managers truly feel that way. If they did, they would just hire a contractor.
What I don't get is how the hell this is not an act of war? If I put a bomb next to some critical telecommunications network, even if I made absolutely sure nobody was harmed, and blew it up it would be considered an act of terrorism.

So why the hell is GCHQ doing this to an allied country?
I have the feeling they aren't checking the input, so anyone could probably POST them some results, and it will put it into the DB. Speaking of which, BRB, let me see if I can lower it to -200
>in the gamedev domain, control over memory is fairly vital.

C# is taking over the game world. Most iOS games are, for instance, written in C# these days.

I have worked for a company who wrote a state-of-the-art 3D PC gaming engine in C#.

Being garbage collected doesn't remove the ability to manage memory. It just removes the need to call Malloc directly.
The Case Against High-School Sports
I don't believe you are. It's unfortunate because there needs to be more innovation/competition in the space.
It can be a systems programming language on pretend/virtual systems where things are make-believe, but not on real, physical hardware.
Facebook Launches Advanced AI Effort to Find Meaning in Your Posts
I personally don't like go, because it doesn't have language features, which must be included in any new programming language, I mean generics and exceptions.
Yes. I have a new rule with recruiters. If you are trying to recruit me, make me an offer. Otherwise, go away. You called me, not the other way around. I'm not going to jump through a bunch of your hoops to prove to you for free that I can do what you already know that I can do just by looking at my resume, looking at some of my public projects, and asking me questions in an informal, short interview. And I'm certainly not going to do that knowing that, even after the end of an extremely long and taxing process, you can still refuse to offer me a job.

What I've done should be proof enough. I don't want to jump through a bunch of arbitrary hoops so that I can get an incrementally higher paying job (maybe) and devote my life to working on someone else's vision. Gee, can I?

I already have a job, and it might be different if I didn't. But maybe not.
Yeah, Relish is similar but not quite the same: it's a separate website rather than an integrated one.
(218 points, 1 year ago, 123 comments)
It was obvious that Nokia should have gone with Android because of its popularity versus Windows Phone. Elop surely guided them towards Microsoft even though it was the inferior option.

Imagine if Nokia had gone with Android two years ago. Nokia's build quality and cameras plus pure Android versus Samsung's build quality and Touchwiz would have made Nokia the obvious choice for many smartphone buyers.

I'd kill for a Nokia Android phone.
IPhone 5S and 5C Drop Test
We are all waiting for Mozilla's rust to mature. Rust seems more in-line with C++'s "you only pay for features you use" and more general purpose.

I wouldn't use go for numerical simulations but it certainly shines for writing network servers.
Thanks but I am more interested in the writeup regarding how to connect it to a raspberry pi, (and possibly how far it can throw a frisbee...)
Startup Pivot: Small (data) Is The New Big (data)
>curious about using it on my laptop

I don't think you should use it on your laptop. See, the thing is:

>Does it JustWork on the majority of average-user things

Not on most hardware. The problem is basically drivers, it's always been drivers, I doubt it'll ever stop being drivers. When it comes to off-the-beaten-path OS's like BSD, Haiku, etc (maybe even Linux), it really makes sense to buy a machine with it in mind. That way you can look at specs and make sure all of the hardware is fully supported. Unfortunately it's not rare that even one unsupported thing can become a huge pain in the ass.

So you can put it on a* laptop, but I wouldn't put it on your current laptop unless you've done plenty of research and you're sure everything is supported.

And it's become my opinion that new and unpopular OS's can provide a better user experience by recommending or even targeting a two or three series of hardware (e.g. Samsung Chromebooks) where everything should work out of the box. Which isn't to say a user couldn't install the OS on something else, but a set of preferred hardware never hurt OS X, and even hackers prefer to have something available that "just works". Especially when developer resources are limited, it could be an advantage to prioritize in a way that manages to deliver a very good user experience to the people who are willing to make a little investment to use the OS. As the project grows, the list can get larger, it's not like you're limiting yourself forever.

ps: FreeBSD actually has in my experience (~2 years ago) a very nice audio system (OSS4), so playing mp4s should be no issue.
NOK had crashed long before Elop was hired. The subsequent decline was due to the leaked memo saying they were scrapping Symbian entirely rather than the move to Windows Phone. The stock would have crashed even if they had announced a move to Android instead. Symbian was the platform on which they rose to dominance, and it was clearly not going to cut it in the new smartphone era, so scrapping it was inevitable. But hearing it from the horses mouth clearly signaled that they had no new tricks up their sleeves and were essentially starting from scratch.
http://en.wikipedia.org/wiki/Betteridge%27s_law_of_headlines

"This story is a great demonstration of my maxim that any headline which ends in a question mark can be answered by the word 'no.' The reason why journalists use that style of headline is that they know the story is probably bullshit, and don’t actually have the sources and facts to back it up, but still want to run it."
Yeah good point, impossible to forget what it's like not to know something. I also haven't done systems programming in a long time - so it would really be more fair to have someone comment who is considering a language under higher performance constraints.

That said, I can report on what I prefer right now, knowing what I already know (having spent 4 years programming java professionally as well) - and I truly prefer a more functional approach that comes a lot more easily in languages that support closures and first class functions. It also strikes me that many of the best practices in java / c++ are basically moving towards more functional programming (prefer composition to inheritance, make objects immutable by default, interfaces over classes when possible, dependency injection / referential transparency and parameterizing methods by interfaces e.g functions).
>there's something to be said for everybody pitching in, even if just a little bit.

I'm not sure how clicking links on youtube could ever, in any reality or worldview, be considered "pitching in" in any significant way.

Bitcoin may be a great way for homeless people to make money, and it may have many benefits over carrying cash or having to wait on a pay check. All of that is good. But to say that clicking youtube links contributes any value to society (or really anything except youtube's advertising revenue) is outright ridiculous.
I find it amusing that there isn't a single word about runtime performance in the whole essay.

In the end, when I code in C++, it's because I believe my code will run faster and generally use less resources, and I'm ready to accept the sacrifices it takes (in terms of my own time) to get there. Does it make me someone for whom software is about "doing it in a certain way" ? Probably. If that certain way is "performance" for problems where it matters, I'm even proud of it.

C++ programmers don't come to Go because it turns out Go doesn't shine on problems where C++ was the answer. Simple as that, and there's nothing wrong with that, as long as Go found its niche and solves some problems relevant to him. I'm not sure I see why Rob Pike needs to be so dismissive.
> lack of template metaprogramming

What do you use template metaprogramming for, except to compensate C++'s flaws?

(I agree with you on automatic GC and lack of generics, but not on C++'s template model in general and especially not template metaprogramming. TMP is just the most horrible, hackish way of scripting your compiler, and I've rarely, if ever found a use for it.)
It's usually interpreted to mean that you need to respect that other people have ends of their own; they aren't just there for your benefit. I mentioned dating as a context where this sometimes happens, and I was thinking specifically of the pickup artist community.
We definitely have an odd way of assigning importance to subdivisions of land. I live in an area where one of the "cities" is a mansion rented out for events with a few businesses and homes built to support it: https://en.wikipedia.org/wiki/Carl,_Georgia
I teach the SAT. My impression is that children are too busy to learn.

I learned a LOT from reading random things outside of school. Students have no time for that these days. And when they do need to learn something new, such as math on the SAT, they have no time to learn it.

The schools also don't seem to be focussed on learning. The emphasis is on covering 'the curriculum'. So I'm dealing students studying trigonometry who can't multiply 7 * 6 without a calculator.

Needless to say, they don't actually understand trigonometry either. Memorize, not rationalize is sadly very true.