skysight-inc/HackerNews huggingface dataset:
Can somebody explain to me the motivation for all the CanBuildFrom machinery?

Is the goal solely to avoid having to explicitly state the type of the target collection? It seems to me that assuming the output collection is likely to be of the same type as the input collection is... frankly... wrong.

Clojure's approach makes a lot more sense to me: Coerce to lazy sequences & chain together O(N) operations by operating on sequences, then require explicit reconstitution of the target type. Using something like (into #{} (f (g (h #{:some :set :items})))) manages to 1) avoid stating the target type (by using an empty set literal) 2) support processing into an existing non-empty collections and 3) avoid the overhead of re-constructing more complex data structures for intermediate steps (at the cost of lazy sequence construction), 4) is trivially extensible to new target types (implement conj) and 5) plays nice with fast transient object construction (implement transient, persistent!, and conj!). Then with reducers and monoidal operations, you can switch from sequential algorithms to parallel algorithms without paying the lazy sequence cost.

Scala's model buys me what exactly? I don't have to write (vec ...) or (into (my-data-structure) ...) or whatever? Seems a steep complexity price to pay for such a trivial and questionable feature.

Am I missing something?
The XOR swap is interesting, too. But I wouldn't want to see one in code someone wrote today, and which wasn't targeted at an embedded platform -- and a heavily constrained embedded platform, at that. (MSP430? Sure. ARM Cortex-M3? You've got enough space to do it properly.)
Possible detection method (server side)?
If the request is too long due to cookie length, then look at the last URL the client IP hit. That should be the URL creating the long cookies. Remove the offending URL / resource.
> Can someone explain to me why I am allowed to add a padding zero at the start without taking it out at the end?

Because there is no "end". These are infinite series.

> But I might as well leave the leading Zero out and argue that:

Yes, exactly, that's the whole point. You cannot manipulate non-convergent series in this way if you want consistent results.
Thats something thats traditionally supposed to happen on the last week f your PhD.

But instead, try to make things you need. If someone else has already made them it saves time, you can use it.
Doesn't your editor have completion?

In Emacs I would end up typing '↑mb↓ M-/ M-/ M-/' (where Meta is the Option key on my keyboard). Because of the way Emacs completes, I might also do '↑mb↓ M-/ M-BS M-BS ↑P↓ M-/'. Either way that's easier to me that typing it out with caps lock or holding the shift key. The only time I can't complete is when I'm defining something for the first time and I'll get over it in that case since it's very rare.
I assume it's like the number of printers and CCTV cameras you can access--no one knew they were public. This doesn't appear to be the Target hack though, just some random IPs that had the default passwords on them.
You'd think a higher level domain should be able to specify whether a subdomain can set cookies for it or not.
Honestly, probably Java or C#.
> This appears to be in the same vein as that trick where you could use popups to spawn more popups, and by the time the user realized what was going on their computer was completely unresponsive. (fixed with popup blocking in any browser in the last decade.)

I recently visited a site that did something similar but was still effective. It opened up mailto: URI's in a loop and since I had Thunderbird set up to handle the links, it practically killed my X session.
My main problem with the "More" button is that it doesn't always give you more. I suggest a text change on the anchor tag to "More, if you're quick about it", and the error message to "You weren't quick enough."

This way I can only blame myself when pressing the button doesn't work as expected.
So.. it's like prefetching.
If you don't know HTML5/CSS3, you're screwed!
I've been using these for years in Visual Studio.

My most commonly used one is "prop" which generates an automatic property in C#: "public string Name { get; set; }". I type "prop", then hit tab, string is selected and I can change it to any type I want, hit tab again, I can now change the name of the property, hit enter and I'm done Takes 1.5 seconds.
I used K and KDB full-time from around 2003-2005. Very, very good performance, but very steep learning curve and some frustrating bugs, but getting quick direct support from Arthur helped a lot (even if his emails were frustratingly terse! ). What else do you expect from a guy whose email address was a@kx.com? It forced me to learn functional programming before it was "in". Once you got the way to think about vectors and functions over vectors you could be very productive chopping up big data in finance. Fun stuff actually.
Thanks for this Nathan, I hadn't heard of foundersuite.com before now - looks like a great resource.
You're just adding the elements of the two series pair-wise (which "works" because addition is commutative and associative).

Here are a few additional intermediate steps:

= (1 + -1 + 1 + -1 ...)
+ (0 + 1 + -1 + 1 ...)

= (1 + 0) + (-1 + 1) + (1 + -1) + (-1 + 1) ...
That would be nice, but it would have a lot of ramifications. Before setting the cookie, the browser would need to know if it's allowed, so presumably it would have to load some file. Perhaps this could be done in a manner similar to CORS requests
This is actually excellent advice. It will also drive you to recognize what you need to be able to demonstrate to actually get the job after you become proficient in the language / framework you select.
Haskell is deprecated in light of enterprise agda.
Surely if you were able to do this, you would use it for cookie tossing rather than this simple mischief?
HTTPS Mixed Content: Web Requests and Data Leakage
No, not like this. You can block some path, but you cant set domain=dontlike.host.com; Only entire *.network.
- "If you're able to execute your own JS on SUB1.example.com it can cookie-bomb not only your SUB1 but the entire *.example.com network, including example.com"

So you've got to be able to execute JS in a subdomain to plant a cookie bomb that will affect the entire domain.
Is this the reason I can't access any *.github.io right now?

Is there an equivalent to status.github.com for github.io?
Here in the Vancouver area, definitely C# (and ASP.net for that matter.) I assume it's bleedover from being so close to Redmond, and probably also affects Seattle.
No, foo.example.com cannot set a cookie for bar.example.com. It can only set cookies for itself and example.com.
"It already exists" at first looks like a reason not to build something. But, is the version that already exists really the same as your implementation would be?

Outside of software, it's obvious that "it already exists" doesn't stop anyone. Does the long list of Italian restaurants, gastropubs or microbreweries stop anyone from starting another one, with their unique twist?

Even in software, did existing social networks stop Facebook from starting another one and taking over the top spot?

Does the existence of "a web application framework" stop anyone from building a better one that matches their opinions/approach?

The only real sin would be to make an exact copy of something that already exists without making your version better in some way. Make it more user-friendly, more powerful, more configurable, cheaper, more business-friendly, etc.
This is, from my perspective, the only advice that matters when discerning what to learn while seeking employment. Look at businesses and people that you admire and see what tools they're using and see what they're looking for. It's one thing to see that there are a lot of (potentially boring and poorly paid) jobs out there using some technology and another to see that you can do the kind of work you want to and find a job you'll enjoy if you learn something else.
When I was 14-16, I used to host forums for different online gaming communities that attracted DDoS. A few times I managed to get myself inside of the C&C, but I was almost always already in contact with the hosting provider by that point and basically was able to get them to shut it down immediately once I had proof of what it was. I was always scared something like what you described would happen, because very frequently the attacks were larger than DDoS attacks described in world news. I guess the people attacking my servers didn't use their botnet for anything more criminal than harassment and generating ad revenue.
Cookie tossing are not always helpful. If session is properly tied with csrf token there's not much you can do with it.
ESA rosetta - The most important alarm clock in the Solar System
Short answer: I don't think LYAH would be entirely sufficient background, and I think familiarity with imperative equivalents is a prerequisite, but along with some other background.

Long version: I stumbled a bit when trying to read this book, because I'm not super comfortable with the formal techniques for analyzing algorithms. I'm not talking about the kind of fluffy-tech-company-interview-"knows what big Oh is and can estimate it roughly on a whiteboard" ability but actually something much more concrete and formal, the kind taught in an undergrad algorithms class or in CLRS. I've taken those classes, I have CLRS on my shelf and have read some of it, but it's been a long time and it's not at my fingertips. There are exercises in the book ("prove that this data structure has this amortized performance", "prove that it does if you change this one thing", etc...) that challenged me quite a bit, and I ended up putting it down after a while thinking I would revisit it after refreshing my fundamentals.

The ML code is easy enough to follow if you know Haskell, but since the point is often to understand the subtlety of the performance characteristics of the data structures and algorithms, just reading and playing with the code wasn't enough for me. After all you can trivially implement functional data structures naively just by copying everything on every operation.

Frankly, Rich Hickey's videos on Clojure's data structures have done a lot more for me in terms of understanding how functional data structures work, even though they are much less formal in presentation. To be clear: I think Okasaki's book is probably a very good book and an important work, but am not so sure it is crucial for the working functional programmer to internalize all the mathematical details.

Anyway, YMMV. Check out his thesis and see what you think before buying it.
I think that's missing the point, you kinda cherry-picked one piece to compare to (albeit the next-most-popular one). As the article mentions, only four of the top ten were breaking news stories. And yeah those are the least interesting because that is the most basic and straightforward function of a news organization and, as you noted, rather interchangeable with competitors' offerings. And I don't think the article was attempting to say that "people were more interested in the Dialect Map than the bombings."

But, the point is, when stacked up against the rest of the Times' original/exclusive/investigative pieces - their differentiating content - an interactive "app" was more popular than traditional journalistic prose (even from noted celebrities!), and that they demonstrably missed opportunities by not creating more apps.

As an aside, I agree with corresation's point that the "only 11 days" argument is weak, in fact it probably got a massive viral boost by coming during the holidays. Anecdotally I was with my family when we all did the quiz and talked about it.
Depends on where you want to work... Want to work 60 hours a week in cube farm in banking, where you will be just some guy in the IT department? What to sit in long meetings? What to take 18 months to do a project instead of 3? Then learn Java and stuff with "enterprise" in the title. Otherwise, learn Unix command line basics, then Ruby or Python, Rails or Django, and lots of Javascript and CSS. Then look for more interesting work in startups.
_>Additionally, using someones server resources that they pay for without contributing anything to their revenue, if ads are in fact an important source of their revenue, is effectively stealing._

Since most website ad revenue is based on cost-per-click and not cost-per-impression, am I a thief every time I view an ad without clicking on it? (And evidently clicking an ad without intending to buy anything is "click fraud", so it's damned if you do, damned if you don't)

I see that in a later comment you admit that stealing might be too strong a word; I think any word is too strong if it attributes moral failure to anyone who doesn't respond to advertising. Whoever said "Half the money I spend on advertising is wasted; the trouble is I don't know which half", he didn't go on to say "therefore, half the population are thieves and freeloaders."

_>If you don't like it...go pay for an ad free service. Nobody deserves to get something for nothing."_

What you call "getting something for nothing" used to be just part of what was called "the cost of doing business." But anyway, "deserving" has nothing to do with it. Publishers can decide who gets to view their content (maybe by refusing adblockers) and users can decide what content they want to view (maybe even by paying for it).

And more to the point, if a publisher decides that anyone, "freeloader" or not, can view their content, they can still use whatever tactics they want (including moral pressure with language about "stealing" and "deserving" and "something for nothing") to convince people to move from potential sources of revenue to actual sources of revenue. And users can decide whether or not to respond to those tactics.

tl;dr: if a website needs its viewers more than its viewers need its content, complaining about the mean, naughty users is not very productive.
A lot of POS systems are entirely online based these days (even hip ones like Square https://squareup.com/sell-in-store). I haven't read anywhere that Target's POS were online, this was a forum where the author was demonstrating how his software worked and Target was not part of it. There haven't been a lot of details released, but from what's known now is that an online facing server was compromised and that was used as a hopping off point to get to the POS.
JavaScript is a must.
Don't learn for employability. Find something you want to build, teach yourself the best tools for the task ---or the ones you find more exciting--- and build it. The kind of experience and the learning you'll get from actually doing something will be much more important towards being employable than having learnt a particular language or framework. And you'll have something to show to prospective employers.
Loads of frontend jobs and AngularJS really getting traction in the Netherlands (and rest of the world i guess). Learning MVC is a minimal requirement (backend and frontend) these days.
That won't work, and could be easily abused by crafting your own requests to blame any arbitrary URL of your choosing.

Plus, servers drop huge requests because they are most likely malformed or DOS attempts. Attempting to do extra work (like tracking down previous visits by the client) will only make matters worse for the server.
How about JUCE, a cross platform c++ lib that is really nice coded and accessible.
Progressively improving a sql query
I would say JavaScript - there is no aspect of web, mobile or desktop (QML) programming that is untouched by JS.

I regret very much that I'm not very good at JS - and I have a hard time working with JS.

Offtopic - really hope @zedshaw writes a learnjsthehardway.
Content-Security-Policy: can-set-cookies: no!

BTW if JS is of we can use <meta http-equiv Set Cookie>
Depends on the type of place you want to be most "employable" to:

- startups: Ruby, Python, Objective-C

- large tech: Java, C++, potentially Scala

- large non-tech: Java, C#

But ideally you would want to work at a place that cares less about a list of skills and more about the quality of code you write. Learning a new language (and/or framework) is trivial for a halfway decent programmer.
It would depend on which job market you are trying to target, this is my guess (it also differs based on geography)

Enterprises (mostly in this order)
- Java (standard J2ee framework)
- Javascript, HTML, CSS
- .net (mostly asp.net, many corporate sites are built with this)
- specific applications like Oracle, SAP etc.

Startups
- Javascript, HTML, CSS (and any popular framework)
- beyond this there is no one thing, it is mostly the founders comfort zone

Software Biggies
- their software stack
- Javascript, HTML, CSS (ans any popular framework)

But given your profile and the nature of posts that you have made, I am curious why you raised this question?
I've never tried that keyboard, but I'm on my fourth Kinesis Advantage over 14 years or so. I'm not sure I would like the TEK, I want my keyboard to be a bit wider so I don't have to squeeze my hands together. The angling avoids needing to put your wrists into constant ulnar deviation, though, which is the worst part about normal keyboards. And I like the idea of putting extra keys by the index fingers, I'd much rather use those than stretch the pinky. Ultimately, you'd have to try them and see which ones fit you.

As for the pedals, I use them for shift/control, which avoids having to do multiple-key chords. These days I have almost no RSI problems, so I could probably get by without them, but it made a significant difference when it was worse.

As for cost: if you're a programmer, your hands are your life. Investing in proper tools (keyboards, adjustable keyboard trays, chairs) is worth much more than that, IMHO.
agreed, he took more than a day!

HN front page has seen many such implementations on JS to simulate OS in browser. For last one year people are pushing the capabilities of Web-browsers by demonstrating such examples. But now this is the time I expect remote-desktops should come (without any plugin/java support).
I had an idea around 2 weeks ago , thought about it worked on it, made the initial designs. Then just today i did a web search to see if there was something similar to it .
What i found out was that it was already being done in some European countries for the past 12 years .
Sure my app was going to be a little different but the basic idea was same , and if they had patented it , they would have sued me if my app ever got big. So it demotivated me and i trashed it .
DNA Nanobots, the Revolution of Modern Medicine
Bar Ilan University's Dr. Ido Bachelet is developing nanobots from DNA sequences for treating cancer.
Why can't Russia give these incredibly talented teenagers something productive to do like starting a company?
Or the best extroverts will seek out the best introverts. If you are selling something, you want to sell the best product around - it makes your life easier - so you find the best possible thing to sell.
It's like looking at a drop of ocean water, filled with plankton. Just imagine what's out there.
Like other people said, typing like that is very stressful for your hands. I wouldn't survive many hours typing like that. (This is one excellent use case for the Kinesis foot pedals.)
You might have encountered one. Kinesis are diy-friendly and will sell unpopulated PCBs for people who want a different switch.
You should realize that although everything exists, most things can be massively improved.
Well, if you keep notes, then you can move on from 'getting a brilliant idea' to connecting the dots between ideas that exist and the motivations for creating them.

The goal is to switch from "getting ideas" (which is sort of level 1 entrepreneurism) to "seeing problems" (which is, in my estimation level 2). This is important because 'brilliant idea' but can't answer the question 'what problem does it solve?' is not worth spending a lot of time on, from a money making perspective (can be from a fun perspective but that is another comment).

So hopefully you're keeping a diary/journal/notebook of these "every other day" ideas, and once you've got a couple dozen, maybe a hundred, you can start asking questions based on the ideas you come up with. Things like "What do I spend my time thinking about?", "What problem spaces are my ideas clustered around?", "Given that they have been done by other people, what was it that made them obvious in retropsect?", and my personal favorite, "Where is the hole in these ideas?"

If you have the ability to generate ideas, you can leverage that into the ability to see where changes will be needed or could be presented. Sometimes existing ideas have "baked in" assumptions (like people assuming you'll have a car so you need a gas mileage app) sometimes they are more subtle. If the underlying assumptions have changed (like it costs too much to make gas out of algae because oil is less than $75 a barrel) ideas that used to not make sense might start making sense, and then you look at changes that are going on around you whether it is spending habits, climate change, or population demographics, and try to ask questions about ideas those changes will make useful in the future.

On an unrelated topic, trying to cultivate an appreciation for "learning stuff" will serve you well, as it can be the only reward you get for the time invested. Appreciating the value of knowing, and knowing well the 'new stuff', will help with the motivation. If you think "10 ideas, all worthless because they are already done." that is demotivating, but "10 ideas, learned 10 new things, score!" you'll be much happier with the outcome. And while you may not realize it now, if you actually do learn the stuff that the idea entailed then you will start to recognize in your own thinking ideas that are probably already out there and more rapidly converge on solutions to problems that are unlikely to have been implemented yet.
I checked out your site. I see you're a writer. So am I!

How is the job market for entry-level web developers in Vancouver? I studied literature and philosophy at UBC but I'm looking into transitioning into web development.

I moved to Los Angeles two years ago from there, but I will be moving back. It seems like there are more opportunities for entry level web devs in LA than in Vancouver.

I've been focusing more on JS, Python, Ruby, PHP and MySQL, but your comment caught my eye.

Thanks for any info!
The comment is explicitly not a dismissal. "I didn't read the whole thing, but from what I know of quantum mechanics and QFT (standard undergraduate course load) I didn't see anything wildly misguided."

And it taught me some valuable information about entanglement.

But go ahead, keep it up with criticizing the tone.
>> This doesn't appear to be the Target hack though

Yeah it's not very clear to me either. Not sure if the relevant Target part is in the second IM transcript where ree4 seems to try and sell a special version of his product that CAN work with Verifones for 2000 USD?
here's what most cross-platform library vendors never get: it's actually easier, and ultimately faster, to learn each environment's native API, then learn one cross-platform API and all of the idiosyncrasies on each platform it supports. Inevitably, there will be some aspect of the native platform that doesn't work correctly within the x-platform sdk and then you have to hack around it.
Indeed, but they are no more. There’s still a relatively unmet need for sending huge files fast (and free) and for sending with incredibly strong security.
Do you think the feds managed to track you down from the file access? Or do you think your friend, prompted by the feds to disclose his "hacking ring", implicated you?

I ask because it's pretty easy to find carding forums on Tor, to the point that I can't imagine the police bust the door down of everyone they can identify as having glanced at a CC dump.