skysight-inc/HackerNews huggingface dataset:
Adam Langley has some thoughts about how to do this, and some numbers, here:

https://www.imperialviolet.org/2011/04/29/filters.html
Oh, you do use calculus, at least in the notes, actually touching on the topics I mentioned, so it's a good illustration. For example in the chapters about generating functions and on sums and asymptotics:

http://ocw.mit.edu/courses/electrical-engineering-and-comput...

http://ocw.mit.edu/courses/electrical-engineering-and-comput...
its full of buzzwords and crap for the verylightly technical executive "woah must not miss the cloud 2.0 train" salespeech.
Another thing to note, the vents would only need to be adjusted when the heat load in a particular room changed too much which might mean only slight changes every now and then to adjust air distribution in response to changing seasons or a cold spell. You could still reap tons of benefits by getting the air flow close to optimum and not constantly readjusting to exactly meet the maximum. The video mentioned the vents closing when it reaches the proper temperature but I can't see why they wouldn't also open them partially to save on needless opening and closing vents.
> If we want to index over the indices of `all` (a bit more like a standard C++ for loop over an array), you could do

for i in range(0, all.len()) {
println!("{}: {}", i, all.get(i));
}

I'd suggest using `enumerate`[0] instead of creating a range on an existing collection:

for (i, n) in all.iter().enumerate() {
println!("{}: {}", i, n);
}

[0] http://static.rust-lang.org/doc/0.10/std/iter/struct.Enumera...
Hi, I'm the author of JSZip. This sentence is kind of awkward. What I meant is that a lot of data is generated in the browser, and traditionally (at least at the time I wrote this library almost 5 years ago) this would involve sending the data back to your server to zip it up and send it back to the user for download. Instead this can all be done client side.

As an example, someone told me about a web app[1] which allows you to create an animated sprite offline. They use JSZip to let you download all the frames in one file.

There's actually an outstanding PR[2] to update the documentation that I still need to review, hopefully that makes things clearer.

[1] http://www.piskelapp.com/
[2] https://github.com/Stuk/jszip/pull/114
Where is the difficulty in cleaning the aeropress? I wash mine once a week, otherwise I just rinse it off. I also prefer to make coffee by the cup - it's much tastier than making a pot and leaving it to stand.
In fact the bootstrap customizer does indeed use JSZip to create the zipped download! See http://getbootstrap.com/assets/js/customize.min.js
It made perfect sense to me. All they are saying that cloud 2.0 is a game changer . We will now be able to AJAX the mainframe into the hyper vortex that will sak;dfj ak;sldfjk FUCK IT FUCK adjlfkahdjklfa I will do it live.
I can recommend Iberital MC2 grinders. Getting grind consistent and not too fine makes a big difference to taste (esp. reducing bitterness) when making non-espresso.
This argument only holds if the attacker controls every internet connection you use. If you're on a portable device or you're otherwise connecting through various networks, only a subset of which are compromised, revocations are still useful.
ML and Scala. Haskell uses a semicolon, but that wouldn't work in Rust's grammar.
I still find it's a pity that so new language has "you must write let" that even Basic programmers don't have to do during at least 30-40 years:

https://www.powerbasic.com/support/help/pbcc/let_statement.h...

I remember not having to write let in Basic even in eighties. Anyway, since 1995, http://en.wikipedia.org/wiki/Limbo_(programming_language) people have an idea that there is a simple way to have "define and assign" that is different from "assign" without requiring a keyword: use := for define and assign, x:=exp is equivalent to let x=exp, use = for just assign. Google Go just reused that idea. Even if it's used today by Go, I still don't understand why Rust avoids it, because it makes sources significantly more readable: the variable is not obstructed by the keyword.

let mut is even more "stuff" before the variable in the language where declarations otherwise always follow the variable (which is good!) I'd use x := expression and x : mut = expression.
I feel like Delphi has made a recent exciting comeback to relevance. AppMethod allows development of native compiled apps for OSX, Windows, Android and iOS, all from the same Delphi code base. That's a compelling proposition.
> If '|' is used for bitwise or elsewhere in the language then this might lead to confusion.

`||` is the logical or[0], why would it lead to less confusion?

(and yes, `|` is the bitwise or[1])

[0] http://static.rust-lang.org/doc/0.10/rust.html#lazy-boolean-...

[1] http://static.rust-lang.org/doc/0.10/rust.html#bitwise-opera...
enumerate() also has the advantage of guaranteed elimination of bounds checks. In general, iterators are Rust's solution for achieving C-like performance for common patterns with safety and without bounds checking.
The aeropress is like 25 bucks.
Räumung wien
Räumung , Räumung wien
Herzlich willkommen bei Modern Trans , Ihrem kompetenten und professionellen Partner für Transport, Umzug, internationaler Umzug, Übersiedelung, Entrümpelung, Räumung, Entsorgung, Lagerung und damit in Zusammenhang stehenden weiteren individuell gewünschten Dienstleistungen.
This project is great, because it's something I never envisioned for the library!

You may want to take a look at the master branch, because we've recently updated our inflate/deflate implementation to use the much faster Pako, https://github.com/nodeca/pako
I have rather questions like: Why all.inter().enumerate() and not just all.enumerate() ? Why for a in all.iter() and not simply for a in all ?

Apparently is the language clever enough to match the types (which is good), why isn't than simply clever enough to recognize then that in on the array needs the iteration? Why isn't possible to directly enumerate the array?

Even (at least this one) C++ has something simple:

http://msdn.microsoft.com/en-us/library/jj203382.aspx

for( auto y : x ) { // Copy of 'x', almost always undesirable
cout << y << " ";
}

for( auto &y : x ) { // Type inference by reference.
// Observes and/or modifies in-place. Preferred when modify is needed.
cout << y << " ";
}

for( const auto &y : x ) { // Type inference by reference.
// Observes in-place. Preferred when no modify is needed.

Not even "in" keyword is used there but it still allows iterations through anything that can be iterated without writing too much red tape, by invisibly expanding to these famous STL declare iterator with the unnecessary long declaration, iterate between begin and end constructs:

range-based for:
Automatically recognizes arrays.
Recognizes containers that have .begin() and .end().
Uses argument-dependent lookup begin() and end() for anything else
It wouldn't work in Rust because "let" supports arbitrary (irrefutable) patterns, and Rust has full pattern matching. The parser has to know when a pattern is coming up. Languages that use :=, like Go, don't have a complete set of destructuring features. The convenience of being able to have an arbitrary pattern in "let" bindings far outweighs the disadvantage of having to type "let".

"x : mut = expression" wouldn't work in Rust because types follow :, and "mut" is not part of a type. "mut" is needed after each binding because one pattern can contain some mutable bindings and some immutable bindings.
Is there any chance you can address parker's, tsumnia's or joezydeco's concerns publicly? I redid some of my ducts and the contractor and I spent a fair amount of time making sure everything was balanced. Without this experience the importance of balancing the pressure never would have occurred to me.
That as well.

By the way, I always wonder: is there a reason for no Iterable trait, which for could just take directly and implicitly call `.iter()` on? E.g. why

for e in my_vec.iter() {

but not

for e in my_vec {

?
What problem were you trying to solve with recursion?
It's simpler to have iterables and iterators be different, and to not overload "for" in potentially confusing ways.
Thank god for competition. Moore's law has been missing in action in cloud computing. Maybe competition will bring it back.
May be worth adding an update due to heartbleed.
You'd have to overload "for" to detect whether the expression implemented Iterable or Iterator to decide what to do, and that was felt to be too complex (e.g. what if you implement both?) There was an attempt to have a unified Iterable trait at one point [1], but I believe it didn't work with the trait matching rules.

[1]: https://github.com/mozilla/rust/issues/7597
> The problem is usually not the software, but the hardware.

It's both. The hardware is slow and the software (in the cases you mentioned, the Linux network stack) is slow and inefficient.

The ERL uses hardware acceleration to avoid all this. It's capable of routing 1M PPS and the latest beta build does this with PPPoE as well. (In other words, it'll support Google Fiber connections well, for the lucky few.)
Yea.

http://rssident.com
What's the purpose of:

y if y < 20

In the match block, can't we just use x?
Business plan is fairytale
I'm just buying my first house now, too. (Closing on Monday.) Like you, I'd be the target user for this. Let me know if you'd like some help on it!
The Hario Slim is a conical burr grinder. You can adjust the grind size by adjusting a small bolt on the underside of the grinder mechanism.
Yes, you could just use x.
Have you tried the inverted method for Aeropress? Pretty similar to french press, and you use about half the coffee of the 'normal' Aerorpess method. It also tastes better, IMO.
I suppose I just assumed that logical or is closer in meaning to the or in pattern matching than bitwise or is.
i wasn't aware of this, very cool
Yes, you could write this as `_ if x < 20`. But not as `if x < 20`, I'm pretty sure the pattern is mandatory.
Show HN: How did I end up wearing 3 health trackers?
Dear HN,

I'm a total geek which is hugely into sensors. Did my PhD into that domain and now I'm playing around with 3 devices: BodyMedia, Jawbone UP and FitBit. Here's the first of a longer series that compares them and shares my daily experiences. #quantifiedself
In the UK, too, almost everyone has an electric kettle. The last one I had there drew 3kW (although strangely I couldn't find such a kettle for sale here in China, which also runs on 220-240V).

Kettles have frequently been cited as the source of surges in power usage during the commercial breaks of popular TV shows. For example: http://news.bbc.co.uk/2/hi/uk_news/5059904.stm
There is definitely work towards this. This spec was recently released and has some potential: https://github.com/w3ctag/packaging-on-the-web
Samsung Galaxy SV Specification
I pay £145 per year for the BBC, and they're too tight to serve me a single webpage. Absolutely shameful.
> You'd have to overload "for" to detect whether the expression implemented Iterable or Iterator to decide what to do

Iterator implements Iterable as a trivial self-return (by default), and `for` only and always takes an Iterable?

> what if you implement both?

Depends what sort of weirdness you're trying to do I guess.

> I believe it didn't work with the trait matching rules.

Ah. Too bad.
It was proved in court that he knowingly provided a getaway car for people who were planning to violently assault the victim. They did, and she died.

Would you be okay with a life sentence had he been driving? What if he had been present at the robbery, but didn't strike the victim? What if he struck the victim, but didn't deliver a fatal blow?

I don't understand where you draw the line.
Just had a play around and I'm very impressed. I'm pretty sure I'll be using this in September for all my CS students.

We've been looking at various ways in which we could introduce our Year 7s (11-12 yo) to Linux, and this checks all the boxes. It'll fit nicely within our existing schemes of work that go through HTML/CSS and JavaScript, and then lead onto Python in the next year.

Fantastic job, and thank you very much.
> Why all.iter().enumerate() and not just all.enumerate() ?

enumerate is a method of the Iterator trait, so you need an iterator. This way it can have a truckload of reusable methods without polluting every collection's namespace I guess, and still things work for collections with multiple iterators (just ask for the right one).

The iteration method does not have to be called ``iter`` I'd think (e.g. a tree structure might provide both a depth-first and a breadth-first iterator, none of which would be accessed via `iter`?)
Yeah, I would rather have "for" defined only to operate on Iterables. If we modified the trait matching rules we could probably do that backwards compatibly post 1.0.
A few months ago I went to two on-site interviews with a company that a friend (who works there) referred me to. They were the ones to call me up asking for an interview. The second interview was a coding one, which I did pretty well at. I never even heard back from them.

Tbh, thinking about it now; I dont think I would want to work at a company that doesn't have the courtesy to reply to someone they approached to come and interview with them. Particularly someone who was referred there by one of their employees.
Great job! Really useful tool.

On a side note, it's interesting how, though you posted postman on HN a couple of times before, it hit the front page only now.
Can you please point me to the examples of the kind of the pattern matching constructs that don't allow using := ? I know it's obvious to you, I don't have your experience but I'd really want to understand. Thanks in advance.

Regarding "mut is not a part of a type," so what? From my perspective (of somebody who implemented just much simpler languages than Rust) it's something like a "storage attribute." It doesn't prevent me to build the syntax to be more readable: it's a keyword anyway. It's certainly not that it can't be there because otherwise it's unparsable.

Having x = expr, x := expr and x : mut = expr make all pretty clean and obvious to me...
I'm using Shibby's RT-N builds. Rock stable and has everything I need, but then again I'm really not picky :-)
Ask HN: Best way to collect payments under 3$?
Which service to use if you intent to primarily collect payments under 3$? Needs to be able to collect payments from all over the world, not just the US.
Yeah, my first one was a clear/blueish plastic one, the new one is a tinted brown. I'm hoping it's that. :-)
What ? Are you serious or is this some kind of joke that I'm missing.

"dehydrated water" !!
Having programmed a lot in both Scala and Ruby, I'd argue the opposite. The keyword makes new variables easier to spot quickly, and with syntax highlighting, I really don't see `let [mut]` as clutter. Admittedly tastes in such things will always vary.
Business plan is useful for yourself too.
Woman With Engineered Vagina
EcoVent should never need to close every single vent in the house, but even if it did, yes the static pressure in the ducts would rise but what is important is the pressure differential around the blower. If you have a totally 100% blocked filter this will cause the highest pressure differential around the blower that the unit will ever see in it's lifetime and it still shouldn't be the blower that's potentially damaged, it should be the evap coils freezing up or liquid refrigerant making it's way back to the compressor and screwing things up, yes there will be more load on the blower motor but I don't see this damaging it unless it's more like a 100% restriction running at 100% duty cycle for a very long period of time causing the motor to burn up.
MountainWest Devops 2014 – Introduction to Docker (Video)
Interesting article. Not just for the photographic analysis but also how quickly fancy things on the Web date.

"Mouseover to compare" and Mouseover menus all killed off by touchscreens. I'm glad about drop down menus, they are a UI mistake, even on desktop applications; Wirth and Raskin warned us about that.
The only thing this article informed me of is that i'll now have to think about what my answer will be next time a tech hipster asks if my service is cloud 1.0 or 2.0. Probably a kick in the groin.
I have a cheap domestic espresso machine, and agree: aeropressed coffee is nowhere near espresso. I find it pretty close to what "Italian" coffee kettles do (this: http://ravistationery.com/images/office%20automation/morphy%...) albeit milder, not as acid or sour as this one. I have not used it much, but I like having my Aeropress, even though it requires quite more coffee than other types of machines.
Make a cleaner, better omegle.
Running a serious business on a platform w/o support is not an option. Even the great Google demands the "customer support" it needs - from government, states etc. Amazon competes directly on support: their new plans suggest scheduled "office hours".

http://aws.amazon.com/activate/office-hours/
Are resubmissions allowed (or even encouraged) yet? For example, Mt. Gox posted an update 3 days ago, but it only got one upvote (mine was the second, and came three days late). It contained, among other things, news that the company had been turned over to someone else (a Provisional Administrator): https://www.mtgox.com/img/pdf/20140416_002_announce_en.pdf

I would say that's newsworthy and worth resubmitting once, but by the current rules I'd risk being banned.

One problem with allowing people to resubmit is that they'll probably resubmit too much. It will also push non-resubmitted stories out of the new queue faster. The first might be able to be solved by encouraging the community to be responsible; the second by increasing the number of items displayed on the /newest page from 30 to 120.

There is another way to solve new queue randomness: create a page where submissions come entirely from HN members that each user may select. For example, I'd be interested in tptacek's submissions, along with tokenadult, cperciva, yours, etc, so submissions from those members are what my page would show. Each user would be able to select their own list of users that they're interested in. But this might be a bad idea because it will make voting ring detection a lot harder.

Another idea is to create a page showing submissions from members that you yourself select. I'd be happy with that, but that's a bad idea because it would divide the community. Pg's short experiment with highlighting users with high average karma proved that this is a horrible situation.
Collectl: An Advanced All-in-One Performance Monitoring Tool for Linux
Religious infiltration of state schools in the UK
Using Facebook Notes to DDoS any website
Google Cloud Platform Blog: Using GitHub for Push-to-Deploy
>In another corner, white mattresses are propped up against the wall ready for use by employees who need a place to stay when they are visiting San Francisco<

Mostly this happens in early stage startups but continuing it at a level when your company is $1.75B is absolutely phenomenal. The effect of this type of culture is what attracts talented people and makes sticking around worth it.

I would personally kill to be part of an organization which brews a culture like this.
I confess, I've accidentally inhaled a bit too hard from a glencairn glass full of scotch tilted a bit too far towards my nose. That sucked pretty hard, but inhaling this powder would probably be a lot worse. Also, this product seems to be targeted at the same demographic that posts youtube videos of themselves trying to snort cinnamon.

I predict hilarity.
There are lots of things that you can do easily with postman but would be difficult with a CLI tool.
> It's a numbers game. You need to be pursuing 5-10 job leads at any one time

It's funny, I don't mean to suggest this is totally untrue, but opposite to the advice I give (albeit based on a sample size of five). The two best jobs by far were those I got (1) by volunteering for a while until they (unexpectedly) offered me a job or (2) by picking one company I'd love to work for, and persistently trying until they made an offer. Admittedly, those were both with small companies (under 100 employees).

I think going for quality or quantity can both work.
As a teacher of IT courses, I'd love a tool that would make it easy for me to set up "TDD" assignments and manage student submissions and grading. For example, I teach a SQL database course. I'd like to tell students that they need to build a database such that queries A, B, C succeed and D, E, F fail. They would upload their schema (the CREATE TABLE code), the test suite would run, and they'd see the score and decide if they wanted to try again. This minimizes the grading work, and by making the test suite transparent, helps the students learn.

It would be very tedious to build tests for one assignment, and there'd be a risk of cheating if every student had to pass the exact same tests. If the product were a "platform" however, teachers could share the assignments (and test suites) they defined, so pretty soon it would be possible for me to assign a different database project to each student in my class, with a different test suite, by drawing on the content library.
...No you can't really make something like that where you end up with pure water and the catalyst but you could in theory just transport a hydrated salt and get the water out later but it just doesn't make sense to do that instead of just transporting the water. Also, pretty much any time you're transporting water, it being a liquid is beneficial. To prevent a ton of sloshing all you need is some baffles.
Could you expand on this idea?
Exactly. If I'm on my trusted network at home and receive a big revocation list, and a few weeks later go to, say, Egypt, and someone tries to MITM me there with a stolen certificate, then it would show up as invalid.
Presumably it would be delivered in tablet form, to which you could just add water to dissolve it.
http://www.bernardfoods.com/foodservice/beverages/images/deh...
Well yeah but Europe is 240V 16A (or more, but 16A is typical).
Sometimes it's not a good idea to give too much feedback, if any at all.

I used to automatically provide feedback of why a candidate did not pass the interview, then I had a few sour encounters where the candidate just did not react professionally. For example, one candidate bemoaned the emphasis on CS fundamentals in our interview. In that case, the candidate was coming in from a mostly front-end webdev background, but our tech stack extends far below the typical webdev "full stack", where knowledge of OS/Networking/Compiler fundamentals is helpful in everyday design decisions. As a small team, we bias towards generalists for now, so while the person might be a great fit for his skillset in another organization, it just wasn't a great fit for us at that time. I tried to explain this, but I received a wall of text complaint email back. I had taken an hour out of my day to write immediate and specific feedback about his interview, and all I got was pushback. This is probably why HR stands between engineers and candidates.
Re #1, Castalia is very slow fews years ago I tried, it's the ModelMaker Code Explorer that adds a lot of productivity to the IDE, including refactoring, and so on. Plus GExperts and GNPack.