skysight-inc/HackerNews huggingface dataset:
I think it's, in general, useful to differentiate the speed of code-writing as a new developer and the speed of code-writing as an experienced developer.

The reality is that people have very little time to try out new languages, and have to rely on anecdotes about the long-term cognitive costs of things like this.

My personal experience is that many of the seemingly more-onerous things about Rust end up falling away once the rhythm of programming sets in.

This is likely similar to how the error-handling approach of Go looks onerous at first, but seems to be something that doesn't slow people down too much in practice.
Do you Love superheroes?
If you love superheroes, I would like to talk to you and run an idea past you. Would love to hear your opinion on it.
What's up with the "alternative" form of Python? What about braces, semicolons, and an explicit main() function makes that version worth showing?
Generally speaking you should actually read the damn article linked before commenting it.The guy who wrote the article worked at the Guardian.He is not a right wing nut.
How would you improve BART?
Yes it is. But still Gmail sessions are long-lived. I also would not stretch this system to eMail-access. Blame it on Gmail, that they do not enforce more security.
Yeah, what e40 said. :-(
and yet people write:

let result = if i % 15 == 0 {
"FizzBuzz"
} else if i % 5 == 0 {
"Buzz"
} else if i % 3 == 0 {
"Fizz"
} else {
i
};

in rust? either this is good, readable code or this is poorly written, unintelligible code. you cannot make the argument that sometimes it is readable and sometimes not based on the presence of braces.
Learn Affinity Designer by Example (50% off for Hackernews)
The feature list in rust really does have my eye. The biggest one in particular was type inference.

The reason type inference was such a big one was because if you use it right, annoying situations like "Two types of strings? What is this?" go the hell away. You have three types, static built in and binary strings, and a third that only makes the gaurentee that the datatype can do all the things a string aught to be able to do, and from there the compiler works out the practical implementations.

This article has done a great job in killing my enthusiasm for the language.

I guess it's implementation of type inference only goes as far as golangs, in that const keyword.

Maybe I was being a bit naive in what I was expecting, hell maybe what I'm expecting isn't reasonably possible. bleh.
Xerox apparently had the patent for the original Palm Graffiti... https://en.wikipedia.org/wiki/Graffiti_(Palm_OS)#Lawsuit
Nice! Whenever I see rolling shutter photos on flickr/etc I always think about this old page where a fellow built a long-distance camera from a flatbed scanner to get the effect intentionally: http://www.sentex.net/~mwandel/tech/scanner.html

(There's a great image of a garage door opening & closing about 2/3 of the way down the page if you don't feel like reading the whole thing.)
It's possible to agree with the conviction while disagreeing with the sentence. In this case, no, the punishment is excessive.

But the point of my comment wasn't to address that, but to address the conviction.
Costs of doing business in Australia exceed costs in UK and US
Personal attacks are not allowed on HN. Please stop this.
IIS has a fundamentally technically superior architecture to Apache, thanks to Windows having a technically superior architecture for doing high performance multi-threaded asynchronous I/O (overlapped I/O and I/O completion ports).
Ramnode does not have a api if that matters.

Ec2 is an alternative. They have SSD these days.
Well, "from __future__ import braces" is a joke, so applying the transitive property of jokes, I assume this alternative version is a joke as well.
You could login to the browser using a password. It would still be valuable to reduce the design problem space to one username/password, rather than one for every stupid site and app on the internet.
What problem does this solve? It seems to trade more-verbose code for being more performant in large datasets. That seems reasonable. But otherwise, in day-to-day code why would I use this?
http://aws.amazon.com/free/

If you're in an incubator/accelerator:

http://www.softlayer.com/catalyst

http://rackspacestartups.com/
I gave a lightning talk at ToorCamp 2014 on an approach I thought up. Need to properly blogify it, but slides are here: https://docs.google.com/presentation/d/1sP88HzQIaezyQMOkQf6X...

The idea is the security rests inside a smart card. You have a key protected by the card, and in order to release it, you prove a sequence of bitcoin blocks have passed.
I am assuming you are technical yourself but have no iOS skills. In my experience, you should interview candidate based on the basic CS principles and algorithms. Start with some classical textbook problem and based on candidates response, build around it. While the interview, focus on the thought process more than the end results. I have been doing this for a few years now and even have built tools for interviewing.

Check https://codepad.remoteinterview.io

Good luck!
Kairos – World's First Mechanical Smart Watch
The Boat programming language
Have a Daily Theme to Increase Productivity
"But Salesforce also poured lots of its own effort into building a completely new product that’s intuitive enough for any person to use — just like such popular games as Angry Birds, Candy Crush Saga, and Farmville."

I kinda feel bad for Jordan Novet, having to type that and somehow find a way to keep pressing letters on a keyboard in a meaningless existence.
The comparison is not "readable", it is "idiomatic". (I'm not saying either is unreadable, just pointing out that you're attacking the wrong thing.)
also facebook and friends got that big because they attracted some investment based on the promise to gain control of this mountain of personal data - all for the purpose of pushing personalized adds. Bruce Schneier means that when he says 'surveillance as the business model of the internet'

decentralized technologies would promise to benefit all participants; but i guess the problem here is legal protection; a registrar based on blockchain is a contract that would require legal recognition; how easy would it be to achieve such a change?

http://en.wikipedia.org/wiki/Legality_of_Bitcoin_by_country

this article has lots of words even when the currency is legal.
Yeah, that's why I focused on 'shorter' more than 'quicker'. (And I wasn't saying it is not true, just pointing out that it's cut and dried.)
They use Google in the demo from Microsoft Research, that's a little embarrassing :)
meh.

fizz x = mod x 3 == 0
buzz x = mod x 5 == 0

fizzbuzz x
| fizz x && buzz x = FizzBuzz
| fizz x = Fizz
| buzz x = Buzz
| otherwise = NoFizzBuzz x

data FizzBuzz = Fizz | Buzz | FizzBuzz | NoFizzBuzz Int

instance Show FizzBuzz where
show Fizz = "Fizz"
show Buzz = "Buzz"
show FizzBuzz = "FizzBuzz"
show (NoFizzBuzz x) = show x

main = mapM_ (putStrLn . show) $ map fizzbuzz [1..101]
I think that "{true} if {cond} else {false}" is quite an unnatural and confusing construct, especially when you attempt to nest them. Although I'm not really familiar with Python I thought that was concatenating 'FizzBuzz' with the value of some nested ternary expression and only realised the order was inverted when I tried to parse the inner one.

The vast majority of conditionals in languages I know follow the {cond} {true} {false} order: IIf({cond}, {true}, {false}) in VB, SQL, and spreadsheets; if({cond}) {true} else {false} and ternary {cond}?{true}:{false} in C and C-derived languages; (if {cond} {true} {false}) in the Lisp family; if {cond} then {true} else {false} in ALGOL/Pascal, etc. There's probably a reason for this order, as seeing a condition in the middle of an expression feels surprising and unexpected.
My Problem with Feminism
I was hoping for a discussion of things in the same nature of Diaspora (which is a somewhat decentralized social network which has faded in hype by now) or Aether, but I was rather turned off by just talking about the blockchain technology again.
Can't spot an OSS license.

What license is aimed for it?
The ARM holding company makes designs and maintains the ARM instruction set and licenses them to manufacturers or designers under a processor license, (for a specific processor without modification), a POP license, (a processor optimized for you if you can't do it yourself), or rarely, an architecture license. Architecture licenses allow you to do whatever you want as long as it implements the ARM ISA. Apple holds an ARM architecture license for the Cortex A15 used to develop the Swift core in the A7 and A8.

See http://www.anandtech.com/show/7112/the-arm-diaries-part-1-ho... for more information.
Overlooked Gems of Science Fiction and Fantasy
I recently discovered Vultr [1]. Slightly cheaper than DO with lots of location. I only had a couple instances running up for a bit while I benchmarked some code (I wasn't benchmarking them, so I didn't compare it to someone else). Was alright.

I run my own "everything" box at Hetzner [2] and I've used OVH (France, though they had a DC in Canada). OVH has gotten confusing, a lot of different brands (SoYouStart, OVH, Kimsufi and all types of stocking issues...so I'll let you google it if you really want). Both of these completely decimate pretty much anything else for the price.

Finally, there was a recent story about Atlantic.net offering a 0.99 SSD-backed VPS [3]

[1] https://www.vultr.com/

[2] http://www.hetzner.de/en/

[3] https://news.ycombinator.com/item?id=8389477
Embarrassing? Nah, pragmatic!
Hard to say without know the kids ages but

http://www.thetech.org/
http://www.calacademy.org/
http://www.exploratorium.edu/

SF in general will have way more museums and sights to see than the peninsula which is mainly business parks, residential, and scenic drives along the coast. Also traffic...
> We have climate issues, but places like New York, Pennsylvania, New Jersey, etc could easily provide that same output...

That's unfortunately not true. You need to appreciate just how unique California's soil and climate are. Farmers from others parts of the world come to California and literally marvel at what we have. In many parts of the world the same technologies and techniques that we use are increasingly employed but these regions still can't achieve the same yields.

Even if it's possible to grow certain crops in other areas, you will not be able to produce in the same quantities as California can and, more importantly, you won't achieve the same yields. Settling for substantially lower yields effectively means you are accepting less efficient use of local resources (water, energy, labor, etc.). That would be counterproductive.

> I think it's a strategic problem for such a large portion if our food supply to be concentrated in one region.

Even if there's some validity to this argument, the reality is that you can only reduce the concentration so much. Growing and distributing food at the quantity required in an efficient manner necessitates a higher level of concentration than might be desired in the ideal world we don't live in.
The type inference does mean that you can care less about what specific type you’re working with, and that it is rare that you will need to write types out (except in signatures—the type inference is deliberately only local), but the distinctions are certainly still there, and due to the nature of the language must be.

Really, this is showing one of the more tricky parts of Rust, potentially to balance the claims of excessive bullishness for Rust that I have heard levelled at me! Don’t let it dim your enthusiasm too far; Rust is still very much worth while trying out in practice.
Putting the String issue aside, I just wanted to show the beauty of pattern matching.

for i in range(1i, 101) {
match (i % 3, i % 5) {
(0, 0) => println!("Fizzbuzz"),
(0, _) => println!("Fizz"),
(_, 0) => println!("Buzz"),
_ => println!("{}", i),
}
}

-- edited: removed `.to_string()`, thanks chrismorgan
Agreed. They are both solid frameworks and I've used both fairly heavily. I personally find Laravel more 'natural'. I have to refer back to the documentation in Yii far more often.
That form factor seems like the right size to re-implement T9 :)
I contemplated using `match` in the article, but decided that there was enough to think about and that it was long enough already. Thanks for pointing it out, though—it certainly is a great thing!
This is a great name for a product where you expect the market to not know what to do with it for a while before you shut it down.
Ebert after he lost his voice wondered if there was a way to use his own voice for speech software. He offered a bounty for this on his blog if I remember.
This get's into the specifics so you almost need to know the code your dealing with to make a relevant suggestion.

However, the easy option is to default to the slow code path on edge cases which considering it's probably a rare enough it's not important to make fast as long it's bug free. IMO, optimizations are always a balancing act between minimizing the computer's effort and minimizing the coders effort while trying to maintain long term readability. But, you can always keep track of more than one buffer so the option is there.
Indeed. As others have noted, one of Gwern's many works reaches the front page of HN every few months - usually for its second or third time. Rather than finding this an annoyance, I enjoy these repeat postings; the ideas of which often represent ongoing community conversations (or spark new ones).

If this topic is of interest to you, then you might also enjoy this thread [0] from June, in addition to its home on GitHub [1].

[0] https://news.ycombinator.com/item?id=7847687

[1] https://github.com/petertodd/timelock
Missing it completely.
Don't use the existing alphabet and characters.
Create a new one that is as simplified as possible. Sure, we'll have a steep learning curve, but once you learn it...
Indeed it is. And people should certainly try executing `from __future__ import braces` if they’re not familiar with what it is.

As for the main function and `if __name__ == '__main__': main()`, that part is actually generally recommended.
Duplicate of: https://news.ycombinator.com/item?id=8442049
Captain America Shield is a fictional weapon which is used by the Marvel Comics Superhero Captain America. Captain America Shield is made with a non destructive element known as Vibranium.

In this tutorial, I am going to create Captain America(Steve Rogers) Shield in CSS3 using circles, star and gradient. It is a very simple tutorial and is very easy to understand. I used five <div> elements – 4 Circles and 1 Star. After creating basic design, gradient can be added to give it more realistic look. I made Captain America Shield in 5 parts namely ‘outerred(Outer most circle)’, ‘white(White circle)’, ‘innerred(Inner red circle)’, ‘blue(Middle circle)’ and star.
That's probably also the same reason why there isn't any local peer to peer file sharing software for phones. Sure it would not be quite as amazing as bittorrent, but at a college campus you probably could still get all the music and movies you want without any real fear of legal repercussions.
Rust has type inference similar to Haskell: type information can flow "backwards". It is very different to Go and C++ where types of locals are 'inferred' from their initialiser, and nothing else.

E.g.

fn main() {
let mut v;

if true {
v = vec![];
v.push("foo");
}
}

is a valid Rust program: the compiler can infer that `v` must have type `Vec<&str>` based on how it is used. I don't think it's possible to syntactically write a Go program at all similar to this (a variable has to be either initialised or have a type), and the C++ equivalent (using `auto v;`) is rejected, as `auto` variables need an initialiser.
It's a neat analysis from a mathematical perspective, but (especially for a rotating component like this) wouldn't the lighting be all wrong for the remapped pixels? The slow-speed scanning examples use a fixed image (note the highlight doesn't change) so it's likely not usable for real-world digital photography without updates to account for lighting.
If you want the best bang for your buck, check out RunAbove [1] We've found them to be excellent: performant, good people behind them, and the value is unmatched.

[1] http://RunAbove.com

Disclaimer: Really, really happy customer.
If it were truly a simple hack, it would already be done, since the health benefits are well known.

Getting these countries to stop burning leaded gasoline sounds like a fairly hard problem to me, just from the fact that they keep doing it. A sibling poster mentions how many problems have had simple solutions, like vitamin C for scurvy, which is true in the abstract but they all took quite a lot of fighting to implement.

Now, I doubt that lead is a significant factor here. But even if it were and it could be demonstrated, would it really be "simple"?
I ended up wrapping iIText with my [clj-pdf](https://github.com/yogthos/clj-pdf) library for doing that sort of thing. I also created a standalone service using it, that accepts JSON and returns a PDF that can be found [here](https://github.com/yogthos/instant-pdf).
Snowball Debuts a Unified Inbox for All Your Messaging Apps
Flame retardant furniture and children's clothing is a likely candidate.
A company actually took all the recordings that have been made of Ebert speaking over the years thanks to his TV shows and other appearances and synthesized a copy of his voice that he could use for his text-to-speech software. It actually sounded a fair bit like him (this was shown in a TV show) but in the end I believe he chose not to use it.
I'd thought that lead water pipes were safe due to mineral buildup that shields them, but apparently this is not universally the case. Quoth Wikipedia:

"Unlike other parts of the world where lead pipes cause poisoning, the Roman water had so much calcium in it, that a layer of plaque prevented the water contacting the lead itself."
Using a Surface Pro 3 full time for two months
Lead emissions come from the gasoline that's burned, not the cars burning it. Once leaded gasoline was eliminated, lead emissions from cars ceased.
This is so fascinating. This makes me long for the days when browsing somebody's homepage on the web felt like they were actually inviting you into their home like a friend.
Yes, it's not easy to track down his remarkable work. Centipede Press is reissuing all of his short stories, but only in $100 premium editions with a print run of 300 (!) copies. Of course, they sold out and the book is now only available from scalpers for > $300.

See also http://ralafferty.org
Type inference doesn't exactly paper over the differences between types automatically. It just infers types, and doesn't complain as long as all the types line up.

Consider doing something similar in Haskell, setting a variable to either be a string or Text:

GHCi, version 7.4.1: http://www.haskell.org/ghc/ :? for help
Prelude> import qualified Data.Text as T
Prelude T> let x = (if True then "foo" else T.empty)

<interactive>:3:32:
Couldn't match expected type `[Char]' with actual type `T.Text'
In the expression: T.empty
In the expression: (if True then "foo" else T.empty)
In an equation for `x': x = (if True then "foo" else T.empty)

Sure, Haskell can sometimes auto-infer very complex types, and has more extensive type inference than Rust does. But it's not magic, and will not do everything for you.

What you're asking for is not type inference, but something else. Perhaps what you really want is weak typing (automatic type conversions), or message sending (can not statically dispatch).
The latest start school video talks about the magic moment for your product. when the user uses your product and they get it. have you defined it for your site. for facebook it was having 10 friends.
I agree. Graffiti writing on the Palm series of computers should be seen as the inspiration on this. It was an alphabet based on the Latin alphabet, albeit with a few tweaks so that every letter could be achieved with a single stroke. Honestly it didn't even have that big of a learning curve, especially since a lot of Palm cases had the Graffiti writing letters on them and the quick reference was always a tap away.

In my experience, it had a very high degree of accuracy. Once I knew the alphabet, I could write on Palm devices as fast as I could on pen and paper. I wonder why there aren't many implementations like Graffiti for stylus-based text input on a lot of computers these days? They're always striving to figure out these complex multi-stroke characters, which often tend to be their downfall on accuracy.
> Common Lisp has optional static typing

That depends on what you mean. CL declarations are promises to the compiler. They permit the compiler to make optimizations but does not require it to signal compile-time errors. Specific implementations may give you compile-time errors, but in general you can't count on it the way you can in Java.
I understand what you are saying, and as you said that is what we see today. The point I'm trying to make is that the utility of the system is driven by the centralised components. Without those centralised components, the so called decentralised systems have no utility to most users. What good is BitTorrent without TPB? How can you measure and transact in BTCUSD without going to BitStamp?

I'm not suggesting we couldn't get by on decentralised systems, but rather that such concepts are largely the domain of the geeky. Centralisation is what provides the convenience and trust that drives utility and adoption.
"no natural interest in"

This is an assumption on the part of the privileged group.

http://www.usatoday.com/story/tech/2014/10/12/silicon-valley...
> Yii 2.0 helps you to write more secure code. It has built-in support to prevent SQL injections, XSS attacks ...

This is just a minor complaint, but it's so pervasive among web frameworks that I must complain yet again.

According to the documentation for Yii 2.0, the recommended way to output a variable to a web page is:

<?= Html::encode($var) ?>

Not the PHP standard:

<?= $var ?>

Because if you do the latter, you will be vulnerable to XSS.

But why does every framework (and many template engines) insist on telling you to call a specific function in the template in order to get XSS protection? HTML escaping should be turned on by default, by whatever means possible.

The simplest template syntax should also be the most secure, not the other way around. Because sooner or later, somebody is going to forget to call that function.

Auto-escaping also saves a lot of clutter in templates, since there are usually only a few places in any given page (usually the content of a post) where HTML content needs to be printed unescaped (but filtered, of course).

Some frameworks escape everything by default and only allow you to print raw HTML if you add a "noescape" flag. This is better, but some of them only do this if you turn on some sort of "autoescape" flag at the top. This is just as bad, since it is insecure by default.

One might point out that not all escaping is the same, since different escaping rules apply in different contexts. But do we really have no way to detect, when parsing and compiling a template, which context we're currently in?

XSS protection in modern template engines should be opt-out, not opt-in. Otherwise they have no right to claim XSS protection as a feature.
An honest question: have you actually read the opinion, or are you just responding to the arguments you imagine them to have made in justifying the stance the headline causes you to imagine them to have taken?

Is there anything in particular in the reasoning of the opinion that you disagree with? I get it that civil forfeiture is very unpopular around these parts (for the record, I'm against it too), but I think we all have a right to expect the discourse on HN to rise above the level of bomb throwing, even if (especially if!) we're on the same side.