skysight-inc/HackerNews huggingface dataset:
From my comment that started this thread:

about 9:10
"virtual machines and garbage collection which when java first appeared were still ridiculous concepts"

Well absolutely, yeah, that's exactly what he did say. Word for word. In direct quotes. With a timestamp so you can go and listen to those exact words.

Spelling it out there were multiple implementations of Lisp with garbage collection that were described by many at the time and afterward as successful and efficient. Guy Steele was on the Java design committee. Yes. No really he was.

Previously, among other things he'd done this:
http://library.readscheme.org/page1.html

Now if Mr Eckel just did a bad job in the first 10 minutes but improved and so I was hasty, ok, make that case - I specifically asked about that. If my direct quote is somehow wrong because of context and I missed it, please provide the quote in the wider context. But let's not make this a language wars style "Nyer nyer you're wrong because I said. C is a virus. Perl is line noise any perceived criticism of my favourite tech is evil" or whatever.

Choose life.

If tech is good make its case. This is someone watching something and responding on the front page of HN because they're interested seems like quite a weird reaction to me - others mentioned things about the "scala community" elsewhere in these comments. Maybe this is another example that helps someone's case?
Compose (YC S11) is hiring support engineers
Our customer base is growing quickly, and we want your combination of tech and people skills to help our customers solve problems and get the most out of their databases at Compose. We operate a fleet of various databases, so there's something for everyone: MongoDB, PostgreSQL, Redis, Elasticsearch, RethinkDB, InfluxDB and likely many more!

If you are a developer, DevOps/SRE magician, or database junkie and know how to help developers with technical questions, we want to talk to you. You will be most effective if you have an inquisitive nature, love to learn, and can read and tweak source code written in a variety of languages. We're not just looking to fight fires, we're looking to prevent them. We pride ourselves in providing top-notch support and guidance, so being able to communicate effectively with empathy and compassion is a must.

This is the perfect position for a smart hacker who wants to gain experience at a customer-focused infrastructure startup. Spending time with our customers and product will let you improve your tech chops vastly, and should be solid preparation for a high-end distributed systems engineering position (we need those too, so if you start on support and do a great job, there's a huge amount of room for growth).

We offer market salaries, the standard suite of benefits, and some unique perks. You can choose to work out of one of our two offices (do you like amazing weather? or amazing BBQ?), or work from home.

Our best hires are tenacious and play well with others. Sound like you? Talk to us about the engineering problems we help customers with every day. Email us jobs+support@compose.io and we'll pass along work exercises so you can get a feel for the day to day work.
Taking a lane while riding a bike is the safest thing to do when the road is too narrow because it prevents drivers from trying to "squeeze" by. It's also how people claim they want bikes to act, just act more like a car, unless it slightly annoys me. In which case, move over, ride on the shoulder while people blow by you without slowing down from going 15 over in a 30 mph zone.

Lane splitting/filtering at stop lights puts bikers in a safer and more visible position, in front of, instead of between vehicles. When I attempt to queue at lights, the car behind me will often inch up until I'm uncomfortable. If there is a car coming, I often wonder whether they "see" me, or whether I'm about to get caught between two cars having a fender bender, and end up leaving with two broken legs.

Sidewalks are not meant for bikes. The offset from the road, and expectation that traffic on them will move slowly leads to drivers pulling into them without actually checking for traffic. On many occasions while jogging I've almost ended up on someones hood, add a bike, and I'd have been across the hood and on the left side of the car before the driver even looked to his right for traffic.
I disagree. There is a story there, namely that the Yale credential is one of the magic signifiers that let this guy waltz his investors past doing any due diligence before trusting him with their money. It didn't occur to them that such a thing was necessary, because he had all the right boxes checked off on his CV -- young, white, male, Silicon Valley, Yale. He was The Right Sort, and that was all the investors needed to know.

The story is the way that connections and credentials count for more in the world of American capital than a track record of success, or even honesty.
Interesting side node: Blender (an open source graphics suite) switched to Python 3 in like 2008 (so far as I can determine).

The reasoning probably was "Hey, the rest of the Python community would probably leave us in the dust, if we don't..."
What does Yale have anything to do with this guy's actions?
I don't think the physics of balancing a rocket on the way down are any different from doing it on the way up.

I'm also not sure where you got the idea that using multiple boosters is a problem. Look up the Atlas 5, Delta IV Heavy, the Space Shuttle, Ariane 5, etc, etc. (And multiple engines on the same booster have been used since the start of the space program.)
I don't have a link, but I once saw a circa-1900 cartoon that depicted a city covered in advertisements. On the side of a building one read "We'll advertise anywhere - churches our specialty!"
The allocator support in C++11 and, from what I've seen, the proposed allocator support in C++1y/z/whatever still leaves a massive amount to be desired.

Polymorphic allocators solve what's basically a non-problem for games (ABI boundary problems) while introducing huge other issues. Alignment is a PITA but not really a pressing IMO. The real issue is stuff like rebind and the requirements to call destructors (which destroys many practical implementations of pools and arenas, respectively). This probably falls under "STL puts an emphasis on correctness before practicality and performance".

...

Honestly (and I am aware this isn't a popular opinion, although it's much more popular inside the game industry than outside of it), IMO the STL-style of C++ programming is fairly wrong for games in general, largely because of memory usage concerns. This style of programming emphasizes worrying about lifetimes of objects by way of RAII, in order to allow a uniform way of treating all types of resources, both memory and otherwise.

This is convenient, but games need extremely tight control over non-memory resource management (need to reuse anything from the system, need to load lots of stuff in the background, etc). This means tying it to object and scope lifetime tends to be inflexible and cause future pain when you need to change the resource management scheme.

And for memory, games tend not to care a lot about cleaning up each objects memory individually, preferring to do it in bulk (e.g. resetting an arena or pool). This means that using RAII (or using something that uses RAII) for memory management tends to fit poorly for games.

So, IDK. I'm not holding my breath on the C++ standards committee making a decision that I care for, but it looks like they're making steps in the right direction nonetheless.
Only if the ads are loaded in parallel with the content. The ads can very well be like TV or YouTube ads.
I think you have the wrong impression about the recent changes, e.g. a recent "regression report"[1] found only two regressions between nightly and the original released beta. Furthermore, several changes have been rejected due to being breaking. The team is seriously committed to stability.

[1]: http://internals.rust-lang.org/t/regression-report-beta-2015...
I really wish better Windows support was available now. Solid cross-platform support has allowed me to move some Python code to go. My attempts to do the same with Rust have been failures, on multiple occasions, but as recently as their 1.0 beta and nightlies (both 32/64 bit were tried).

After giving it a few hours with the IRC channel riding shotgun and hello_world.rs still crashing on Windows, I've again hit snooze of Rust. A pity too... I am quite re-interested after seeing some Rust demos/discussion at PyCon.
The team is emphatically not changing things like crazy. Every week the nightly unstable branch runs against the stable packages on crates.io to automatically smoke out potential stability regressions. Here's last week's:

http://internals.rust-lang.org/t/regression-report-beta-2015...

Two regressions out of 900 packages, and one of those was due to a bug that was fixed (the other was due to a new warning being added, which caused breakage in a package that had opted in to turning all warnings into hard errors; a plan to keep this from happening in the future is being formed at https://github.com/rust-lang/rfcs/issues/1029 ).

For this week, the big breaking change will be the deprecation of thread::scoped due to its API being found unsound. This is exactly the sort of thing that you want to cause breakage for, and does not happen lightly.
100+ Forced Perspective Photography Techniques
Why Men Love War, Esquire (1984) http://public.wsu.edu/~hughesc/why_men_love_war.htm
You'll need to automate your customs declaration forms.

It helps a great deal if you can include any customs duties in the prices you charge. For example Canada has a %15 tax. If you sell a book to a Canadian, you can save everyone a lot of hassle if you can just include that duty in the original purchase, then make arrangements with Canada Revenue Agency to pay it directly to them.
The Duke In His Domain, New Yorker (1957) http://www.newyorker.com/magazine/1957/11/09/the-duke-in-his...
Public, bare getters/setters! Hisss!!!!!

To elaborate, this is one of the most common annoyances I have with Java ecosystems. In an attempt to make everything Objectionable (ho-ho!), coders write classes with their internal data structure marked as private but then make getters and setters (which do nothing other than set or retrieve the value) which are public.

The result is that their internal data structure is actually public (since its advertised through the getters/setters), but with the added bonus of extra function calls and member offset resolutions (i.e., it makes execution slower while single-handedly destroying the main benefit that OOP offers—backwards compatibility through isolation of the internal data structure).

While it doesn't surprise me to see new-to-OOP coders making this kind of mistake, I find it troubling that many FAQs/tutorials/classes actually advocate for these patterns.

On the bright side, the web page looks nice :)
> you skipped the "if you're interested in rust's memory safety, performance, low-level control, and expressive type system, then in a very real way" part.

You skipped the fact that user oldmanjay heavily edited his message, and the current one has little to do with the one I answered too. Not going to edited mine, I quoted his previous message and answered to these specific points.
That makes sense Andrew, thanks for explaining.
Two compelling reasons: Blender and Asyncio.

Blender has been on Py3K since 2008 and is an underrated software platform.

Asyncio is a revolutionary concurrency framework based on coroutines. The "yield from" feature is useful both for coroutines and for other generator functions.
The Kentucky Derby is Decadent and Depraved, Scanlan's Monthly (1970) http://brianb.freeshell.org/a/kddd.pdf
Not just you — love the Emacs bindings everywhere. It always throws me off on Windows when I'm trying to C-n and C-p around, getting hit with new document and printing dialogs all over the place :)
A Jedi Saga
Sorry about that. The Ubuntu PPA is not yet up-to-date. Please download http://files.pharo.org/sources/PharoV40.sources.zip and extract it in /usr/lib/pharo-vm/PharoV40.sources. You may have to throw your image away and start a new one.
- Xcode

- Sketch

- Pixate

- Framer Studio

- iTerm

- Fluid

- Keynote

- Pages

- Quick cast

- Cloud App

Granted I haven't looked into a lot of these to see if they've picked up Linux or Window's support. However I doubt any of the one's I've listed are all on Linux, which I'd for sure need to do any development work.

Some of these I'm sure have alternatives but the one app I just can't do without is Sketch. Gimp doesn't compare and wine + photoshop hackery on Linux is a nightmare.
This is a rude response. The reason is quite reasonable, since there is no way that would work in all cases. A case is easily made where Foo<Number> extends Foo<Integer> makes as much sense as Foo<Integer> extends Foo<Number>.

So, which would you have chosen?
The company, which Mr. Newman started a year after graduating from Yale, bet much of its success on “Keeper of the Pinstripes,” a low-budget baseball movie based on a novel about the Yankees. [...] It is not clear if Mr. Newman ever raised the $9 million that he had said would be needed to begin making the film.

Anyone who thinks $9m is 'low budget' is a sucker who didn't do their due diligence. Real film productions use an escrow account that releases when the film is fully funded or returns the investors' stake within a set period. Also raising $9m for a first film just smells to high heaven. 5% of that amount would be a lot of money for a first-time producer.

The guy must be a really smooth talker if the company still holds the rights for the original store. Usually options on literary properties run for only 3-5 years.
Chocolately + Boxstarter = ./build.sh

To build my work environment on a brand new install all I have to do is Start -> Run -> https://boxstarter.org/package/nr/url?https://raw.githubuser... as administrator.

See the following repo for more information https://github.com/ghuntley/dotfiles-windows/blob/master/des...
Carnival: An unobtrusive, developer-friendly way to add comments to any site
I saw a documentary animation that involved the plane yawing 180 degrees and very briefly proceeding tail-first while firing back the way it had come. It specifically involved WWI aircraft, and IIRC emphasized that it was only practical with their low speeds. I can't find it now, though, so I can't vouch for the source or expand on any details I may have missed.

It was definitely presented as nearly impossible to do, in any case. I vaguely recall that it required a plane with a very short wingspan (e.g. a triplane), but I could be imagining that bit.
...Newman.
"Rust essentially never wastes cycles on bounds checking thanks to the design of its iterators."

Can you explain this or point me to the relevant documentation or code please?
Watch SpaceX’s booster rocket almost land on drone ship
Carnival – a developer-friendly way to add comments to any site by Thoughtbot
> - International text input: in OS X, out of the box, é is opt+e, e (or the now even easier: hold down e and choose é from the menu)

With Linux and Gnome, you can have several keyboard layouts, which are very easy to switch between (much like multiple languages on a phone keyboard). Usually I use the English International layout, one quick change (accessible from the global bar) and I've got all my accents (also speak and write in French) easily accessible. A bonus is that there's different international layouts if one doesn't suit you. é is simply ' + e. ç is alt , + c. And so on... Éïôàç

I'm sure OSX is a nice operating system, but Linux has very usable desktop options these days too. Windows, not so sure...

> - emacs keybindings in every text box! Anyone? ...Anyone? Maybe it's just me.

I think this one is only you...
If a 3D title is lower resolution in Final Cut Pro, Compressor, or Motion
You can be sure if more people used rust, there would be many more detected breakages. The undetected ones are more worrying.

I get that the language is a beta, but be warned.
One example I saw - http://internals.rust-lang.org/t/memcpy-is-backwards/1797
Rust: ATS for the rest of us!
I enjoyed the insights in your first comment and looked forward to reading this thread for obscure tidbits on audio latency on Android. However, instead of getting replies on your experience, we get a huge meta thread that contributes nothing to the original topic.

Sadly, some users have to disrupt a thread, no matter how inane or off-topic it might be :(. Sometimes it gets to the point I don't even want to read or contribute to the discussions on HN anymore and add the site to my hosts list so I won't be tempted to read it out of habit. Eventually I come back, but the times in between get longer.

After skimming the comment history of the person you're replying to, I'd just ignore them, because they have a history of doing this. If HN had an ignore list, they would surely be on mine. Won't be the first or last time they disrupt (troll) a thread.
Side note: Douglas W. Jones was touting this [1] in a computer architecture class in the mid-1980s. Fun stuff. He later went on to do a lot of work with computerized voting [2][3]. Great instructor...

[1] http://homepage.cs.uiowa.edu/~jones/arch/risc/
[2] http://homepage.divms.uiowa.edu/~jones/voting/pictures/
[3] http://homepage.cs.uiowa.edu/~jones/voting/
The story between the lines here is, if the NYTimes writes a positive piece about you and your doing shady shit, expect a followup.
Show HN: Pharaoh – Diff PHARs (executable PHP Archives)
A Brief Illustrated History of Voting (2001)
I agree with not using the underscore character, while Underscore/Lodash are still popular. Personally, I do `H = require('highland')`, whenever I'm using it.
I liked reading Joe Armstrong's thesis[1] on erlang where he describes what it takes to build fault tolerant systems. Though he talks about erlang some of the concepts stuck with me and helped me in writing code in other languages.

For example one of the recurring themes is the concept of "intentional programming" that I found myself using in my code more often and it resulted in drastic simplification of ideas.

His other ideas like supervision are pretty much tied to erlang unless you want to dedicate effort in "porting" them to your preferred language.

The book is small (<300 pages) and quite readable even if you don't know any erlang.

I also liked reading about programming habits from @edw519[2]. Especially the part about reading code and analyzing it everyday. Following his way I can pretty much reproduce the entire codebase that I am currently working on from my memory right down to the unit tests.

Why is it helpful? Because if you have the entire thing in your head then your brain keeps working on the problem even if you are not. Faults in design and implementation are easier to catch. This practice of self critique is the second best thing to code review and the best if you can't get your code reviewed. It can also lead to "analysis paralysis" if you are not disciplined :)

[1]http://ftp.nsysu.edu.tw/FreeBSD/ports/distfiles/erlang/armst...

[2]http://v25media.s3.amazonaws.com/edw519_mod.pdf
I'm going to assume English is not your first language, because there is no other explanation as to why you can't understand what he's saying.

He is clearly saying that the typical programmer at the time thought virtual machines and garbage collection were ridiculous because of their perceived lack of efficiency.

He never says he agrees with that assessment.

He is simply demonstrating what the common arguments were against Java at the time, and if you were programming back then you know he's correct - plenty of programmers were not convinced, and they were wrong.

> But let's not make this a language wars style "Nyer nyer you're wrong because I said. C is a virus.

This is not a language war. Lisp was my language of choice fifteen years ago, and is still one of my favorites.
I've never needed to wonder why they go but I wonder deeply at why they charge into opposing fire.
It's not necessarily that people regularly see it as a problem, it's just that sometimes you get yourself put into a type corner and the lack of it causes you to have to repeat yourself. I'm not sure what the alternative world would look like, but I feel like this means the type system simply isn't expressive enough to cover this particular problem.

Upon thinking about it a bit, this problem seems to be functionally equivalent to pattern matching on the type of the message (which Java also lacks). I'm not a Haskell guy, but the immediate solution I'm seeing is to just have separate cases for each one. This is still an inferior solution in this particular case, because it forces you to modify the code in two places; luckily the type system helps here and makes sure you do.

But consider a problem of a different form:

Imagine I have an object Bar<S , T> and I want to have a frobnicate(S s) and a frobnicate(T t) method. Since Java erases, I can't do this. frobnicateS and frobnicateT it is! This is particularly annoying because you know S and T are different, but you can't express it to the type system! This seems like it'd be solvable by some sort of disjoint union, but again, Java lacks this. Fun fact, it does have a way to bind a generic on multiple classes: Bar<T extends Baz & Bat>. It would be natural to add a | for this sort of operation, if they ever figured out how to do this sort of operation.
> Software developers are generally paid quite a bit less in Finland than in the valley

Pretty sure Silicon Valley is an outlier when it comes to wages for software developers...
There's a lot of reasons why the plan didn't work out, but your objection seems more like a knee-jerk anti-Apple catchphrase. An iPad with the proper software (which these obviously did not have) is quite capable of presenting indexed, hyperlinked course material, distributing schedules and assignments, helping students communicate with the teacher and each other, and so forth.

If you want to argue that there are better ways to do all these things, that's fine, but the "only good for consuming content" thing is awfully shallow.
"go isn't ready at all" is still a substring of the parent comment, so one perfectly valid interpretation is that the quote was taken out of context, especially since HN provides no edit histories or even indication of edits.
Ask HN: Can one install an audio codec on Android without root
I'm a dev that uses Windows at work for development and the Mac at home for development and at work for general use. I've been a Mac devotee since 1984.

For an IDE nothing beats the sheer joy of Visual Studio and ReSharper. I use NetBeans for Java (I prefer it over Eclipse and IntelliJ). For MySQL I use Sequel Pro on the Mac but prefer HeidiSQL on Windows. For Linux dev work I'll spin up a VM on Fusion on the Mac or VirtualBox on either.

My point? There's nothing you listed that requires you to use a Mac. I completely understand if you choose to, but there's no need to discount Windows in the process...it's a great development environment for anything but Swift and Objective-C.
> I can't recall the last time I ever felt I had a "relationship" with a game developer, on _any_ platform.

It was common many years ago. And some indie developers still engage their fans, solicit advice, etc...
Actually, it's not in general decidable whether f.test(f) is safe because f gets read twice and the value might change in the meantime. In the example a simple flow analysis will tell you it doesn't but the general case is equivalent to the halting problem. The generic method solves the problem because now there is only one read in boom() and the concrete type in testFoo ensures that f can't change in an incompatible way between reads.

A more sophisticated type system could allow access if it can be proven safe with simple flow analysis but wildcards are already complicated, that would make them much more so for not much benefit.