skysight-inc/HackerNews huggingface dataset:
For context, I was a junior developer during the dot com crash, in Boulder. I worked at a web consultancy.

I saw decent developers laid off, but good developers kept on. I saw companies desperately hunting for business (and signing ruinous contracts to have revenue). I saw promises to employees that had been made in exuberance broken (we'll open a London office). I saw poor business practices--lay offs the week of Thanksgiving, for example. I saw the business I was a part of get smaller and smaller as the fat was trimmed.

However, for good developers, there were still raises. I know some great people who were hired away, so I think that the job market still existed. But you certainly weren't getting the exuberant benefits in the new job.

I was too young to be on recruiters' radar, so I can't comment on that.

As far as insulating yourself, I think the best things you can do are:

* be humble
* learn new skills
* be cognizant of the business and the value it provides to consumers, and where it is weak
* know if the business is profitable, and how (1 big customer? 1,000,000 small ones? advertising)
* save a large chunk of your salary, and not just in your 401k
* keep your network alive (maybe be an informal recruiter? http://www.mooreds.com/wordpress/archives/1728 )

The easiest way to keep a job is not to need it because you have a buffer of savings, a viable network, and have valuable skills. In my experience, those developers can land on their feet even when they are surprised by a layoff.
Why do users (I guess I'm not being singled out) put up with unresponsivenes of s0.wp.com etc.,? I've given up trying to read it (the article of interest) and it's no surprise when I look at the connection.
When Is AngularJS Superior to JQuery?
But at the same time, if you need to go through tons of red tape (either from bureaucracy/processes or even tools) to change something simple this is a big demotivator (at least for me)

Last job involved C# and it was good, and dynamic (pun intended)
IF we take the strict differences of the phrasing, we could say he's reasonably withholding information by request. Incorporated with the timeframe, this could be anyone — but given his response and the extra 250+ twitter followers today, he's probably been reminded the cost of drawing conjecture in public.
Internet of Things (IoT) and Google
This is not a demo, this is a video of you using it.
I do the same thing with Gulp's version of LiveReload. Love it, huge time-saver. https://www.npmjs.com/package/gulp-livereload

I'm also a big fan of BrowserSync. Can be used for a similar use-case, and lets you (for example) see the site updated on your phone, tablet and laptop whenever you make any change. http://www.browsersync.io/
This would be a cool one to port to Scratch and add to the Code Club syllabus:
http://projects.codeclub.org.uk
I would guess it’s pretty doable in Scratch.
I like articles like this. Some sort of artificial lens you can look through and get some sort of insight. It may or may not be a thorough description of everything, but these simple lenses are sometimes surprisingly useful.

An exercise here would be to find out if you're complimentary to one or the other. Wikipedia is extremely complimentary to pull/search for example. The New York Times is complimentary to push. Mechanics would usually be more comfortable advertising via pull, under 7s ballet is would usually be more comfortable advertising via push.

Push advertising has a bad name because of bland TV brand recognition stuff, but it's actually good for a lot of things. The internet gives us a lot of "push" that is less stupid. You don't initiate, but you do need to play along.

Novel concepts need push. Kickstarter is push. Oculus Rift needed push to get going. HN is push.

Anyway, an interesting insight is that push's "content durability" is "flow."
10 years to 'expert'. Far less for 'competent'.
The price does matter. Keeping a network with 250 PHash/s running costs 219 million Dollars per year (1 GHash/J mining efficiency, 100 $/MWh energy costs) and probably quite a bit more if you account for other costs like hardware, rental or cooling. If your block reward is worth nothing you will have a problem keeping the network running. Scale back the hash rate and you get vulnerable. Increase the fees - with 100k transaction per day you are looking at costs of 6 Dollars per transaction for electricity only - and you damage one of the main selling points of Bitcoin, cheap transactions. And this again is prohibitive for Bitcoin adoption in underdeveloped countries which are often suggested as a core market.
NK isn't the most reliable entity, but it's at least strange that NK would go "come here and see if we did it", and US is like "Uh no, we already know you did it!" when its evidence doesn't look so solid.
Housing prices were stable until the mid-90s.
I am skeptical about the entire premise of software like Google answering questions more complicated than research for school reports. Any sufficiently interesting question can be answered better by humans. Questions with simple answers often require more nuance to properly understand the answer. For example if you ask the population of a city. When was the census, and how exactly was the edge of the city defined? To make information usable you need to understand the source. Complex questions have multiple sources that may be incomaptible in forming an answer to a question. Without strict standards for representing knowledge I doubt Google have sufficient data to do anything groundbreaking outside of a few small areas.
Exactly, and that is the reason why I don't trust the US. Why not be 100% transparent in the investigation? What is there to lose?
I write js, but I often won't run code for a long time. I put together a project, using the code almost just as notation for ideas, and then go through testing everything to bring it to completion. I suspect that frequent running of code and heavy use of the debugger leads to, or at least makes it easy to write spaghetti.
You may still want to write the BNF for your language for documentation purposes. Also, you could use yacc to see if it contains ambiguities.

We certainly don't want languages with hidden ambiguities, which are resolved in different ways in different implementations.
Man, I remember graduating high school in 2006 and thinking Computer Science would be a bad career decision because of outsourcing. It seems insane now.
you should publish a Rust version of Ntimed, then its advantages would be obvious and nobody would touch C again.

while i'm here, compare the tone of your comment with that of the following (lifted from somebody's comment in another HN thread):

Personally I wish this was done with $otherlang.. But then again I'm not writing it myself, so I can't really complain.
A long time ago i also wrote a maze generator. It's helpfull to understand the algebra of (fully accessible) mazes:

1. Every wall may intersect with some other wall at most once. (this includes the outer wall)

With the above rule in mind, you can create mazes with any type of random proccess (without the need for backtracking or bookkeeping). You don't have to check wether places are still accessible -- they just always are and will be. Back in those days (qbasic on a 268) just drawing randomly from some point in random directions was about ten times faster than the common path walking (backtracking) style algorithms. Taking two seconds instead of a full minute.

Don't take my word for it. Grab a pencil. Start drawing random lines. They may only cross some other line at most once. You'll end up with a fully accessible maze.

The maze may be complicated -- the walls in a proper maze are not. Its a great example of how understanding the invariants and rules that govern your problem domain will help you write faster and simpler code.
I've read them, and they are interesting. That is certainly true for Greenland, but I was talking about Canada only. Is there evidence of contact between the Inuit and the Norse there?
From the article... "Taking these three charts together, the relatively static USD transaction value per day metric in 2014 appears to be the result of the falling market price of bitcoin being offset by increased transaction volume."

...and then...

"Perhaps this is all just a coincidence, but it appears that 2014 was a year of relatively static demand for transacting value through bitcoin. Static demand implies that either 1) the number of people using bitcoin to transact value has been relatively stable, or 2) the number of people in the ecosystem using bitcoin to transact value is growing but offset by churn/decreased usage by other participants."

Am I being slow here? The graph showed the number of daily transactions was increasing over 2014, yet the conclusion being reached is that the demand for usage of Bitcoin is static. Perhaps I'm reading it wrong, but from where I'm currently standing it doesn't make sense.

One thing that needs to be understood about Bitcoin usage is that the transactions are not always for whole Bitcoins, it's increasingly common to see trades for fractions of a Bitcoin. The protocol explicitly allows this... https://en.bitcoin.it/wiki/FAQ#How_divisible_are_bitcoins.3F

If trades of fractions of a Bitcoin are being made frequently, then it does not mean there is a demand problem, but rather that prices are readjusting.
That's what I was going to ask. VC funding is absolutely not unusual, and there are dozens of seed firms and grants available.
It's the pre-internet sources and Government employees fault and not the Reference Librarian as a profession. This is out of the US Library system only.

Your "Across the Board" = "Government documents and central reference areas of 26 U.S. libraries" Not your academic or local libraries that most of us think of as Librarians.

I was a System's Librarian and contend that Librarians are needed more now more then ever due to the Internet but that is a different tale. One-Third the Librarians were let go in my state during the economic down turn).

Reference Librarians should be quoting sources and I bet you a million dollars that a Reference Librarian gives you the source and it is the source that is wrong.
The Freaky Celestial Events We See–and the Ones We Don't
Oh I see. I didn't knew that, I just connected the NTPd daemons either to the default NTP server or to the ISPs/Provider's NTPd server. Hm, didn't knew that VM had such issues with time servers.
Has anybody here used Elkhound [1]? How does it compare to e.g. ANTLR?

Also, why do parser generators always have to be so language specific?

[1] http://scottmcpeak.com/elkhound/

> Elkhound is a parser generator, similar to Bison. The parsers it generates use the Generalized LR (GLR) parsing algorithm. GLR works with any context-free grammar, whereas LR parsers (such as Bison) require grammars to be LALR(1).
Virtual Reality Doesn’t Need a Killer App to Get Huge
waiting for rust to hit production readiness will not avoid that.
I may have meant demo as a loose term meaning walkthrough of capabilities. It is definitely better than a screenshot.

According to Google
demo (v) : demonstrate the capabilities of (software or another product).

I guess you found it useless. I would be happy if you can share your feedback to amit@castbin.com
Show HN: Peeps – Selfie group video chat for iOS
But what about something completely different? I get that generation of "content" is (going to be) a big thing, but I'm curious if there's something about it that was applicable in a completely different setting (medicine, finance, whatever).
This is a very good point. It looks like all of these were only listed after they became public as part of the attack. So it's not like they were known bad IPs before.

As an example, here is the Spamhaus entry for one of the IPs. Notice the references to articles about the Sony hack: http://www.spamhaus.org/sbl/query/SBL242808
Yes, I think I know exactly where you're coming from. I've gone through the same cycle of starting and stopping with it, for the same reason. I will sometimes spend hours looking at a simple function thinking "There has to be a way to get this to work," when I would have long since put the sequence of if-else statements in a C program, or just allocated some heap memory and been done with it. It's like I want Rust to be Haskell, but without the GC, and I feel like I'm dumb for not being able to make it work that way. It seems like the abstractions Rust makes available should be composable in a way that is prevented by the memory model. The language features are mostly there, but it's just tantalizingly out of reach and it seems to trigger my "puzzle solving" response.
The dot-com crash was quite an adventure. Being a coder/PM, I really didn't realize we were in it until it was already several months in.

I had left one gig and had started looking for the next one. One month I was getting multiple 6-figure full-time job offers. The next month the phone didn't ring.

I ended up going back to basics: marketing. I went through the online job boards and found which skills were still selling, then revised my resume to focus on those. I made my pitch better and started to talking to recruiters.

It's all still just a numbers game. There's a funnel of jobs you apply for. The next level is the recruiter interview, then the tech interview. Different rate quotes get different amounts of volume into the top of the funnel.

I ended up taking a 30% cut from my rate before. That went on for a few months, then the next job was back at my normal rate. In fact, the more I worked the market the better my rates got. I took a big hit for the several months it took to re-tool, but in general within a year or two I was doing as good or better than before. (The only exception is that the full-time job calls dried up.)

The rule of thumb here is that multi-skilled contractors can always find work as long as they have good marketing and sales skills. The guys who had been camping out at the same job for several years and not growing their skillset had the worst time of it.
Of course then your country could lose a war because it had insufficient technology, and you'd get to wonder if you contributed to that (you would have, though so would everyone else).

Or because you didn't work on guidance systems, you could wonder if that was the reason the near miss which causes a lot of civilian deaths happened.

Or you could note that the use of military power is not really constrained by technical limitations and never has been, but the effect most certainly is, and start voting and advocating politically which would be more effective at stopping wars in every way.

But then you would have some much more direct responsibility for how the various conflicts turned out.
Love of robots may pave way for better treatment of animals
This makes doing layouts in css so much easier. I can't wait until we can drop al the grid frameworks and use this instead.

Another good explanation on CSS-Tricks: http://css-tricks.com/snippets/css/a-guide-to-flexbox/
Browser support: http://caniuse.com/#search=flexbox
I'm using a multitude of nested flexboxen in a web app currently in testing and it's working well. There may be theoretical performance issues and slightly odd behaviour at points but nothing I've noticed -- main thing is all the layout-juggling JS I didn't have to write...
When Your VC Financing Is a ‘Busted Auction’
Ask HN: How to get started with a simple P2P application?
I have recently become interested in building my own P2P app, with something simple like just sharing small calculations or messages with all the peers.

But I really have now idea where to start looking for good literature on the subject , both for the theory but also which language / servers / libraries to use.

Do you have any good input to get me started?
Okay, this is a revelation. I hadn't seen refutable lets, and this seems great!
Talk about how important it is to know how to name variables in the right way
How Do You Set a Goal and Reach It
The seed funding part, as most of the incubators on the list do funding at levels below £50k.
Lollipop UI Inconsistencies Represents Google's Failure of QA
Apparently they have weapons of mass destruction too.

/s
2014: The year for streaming media
Fiat currency has a value story; the states monopoly of violence provides it with the ability to collect tax from economic activity where that monopoly holds true. Tax revenues are a future income stream that has value; hence the underpinning of fiat.

Therefore, speculating on the viability, power, and relevance of the state.
The erratic price could also hurt the economy, if Bitcoin was widely adopted.

The price wouldn't be as erratic, as it would be normalized against all the goods in the economy. Just as gold was when it was money.
VIDEO: DNS Attacks and Google Encryption
Without the Oxford comma I read that as SiriusXM being "a religion and a biotech for starters", I was pretty confused until I red the article and realized my mistake.
How a Hacking Gang Has Stolen $17M Since 2013
A familiar example is “goto” versus structured programming. “goto” is supremely expressive—conditional jumps are sufficient to express all of the usual structured programming constructs. But sacrificing “goto” enables much more powerful reasoning about programs because it restricts the shape of the control flow graph to common patterns: “while”, “do…while”, “for”.

One of the core features of functional programming is “recursion schemes”, that is, generalising patterns of data flow. While “goto” lets you manipulate control flow arbitrarily, it turns out that you don’t usually want arbitrary control flow—and the same is true for data, so rather than “for” loops, it’s often easier to think in terms of the common patterns: “map”, “reduce”, “filter”.
Show HN: Solon – Collaborative Jukebox Using YouTube, Vimeo and SoundCloud
Hi there,

just this month we hit a point, at which we were confident enough to release this and now we're even more confident, so we put it on HackerNews.

If you care about our techstack: the backend is built using rails, em-websocket and postgres, while the Frontend relies on angular with some Backbone leftovers. Messaging is done via vanilla websockets and protobuf.

Every kind of feedback is welcome, however harsh. Thanks!
Light console-based usenet client
Greater adoption gives it more "moneyness", which in turn means we measure things against it more and more. As adoption picks up and it acts more as a medium of exchange, the value of it normalizes not only against other currencies but other goods.
Building Complex Layouts with Marionette.js
OMG Fortune Free Slots
GNU Make Book
Unwinding is only potentially unsafe if you're already using `unsafe` blocks. If you're sticking to safe Rust, unwinding can't cause memory unsafety.
To strengthen your point, by the mid-2000s there was a booming industry of well paid "consultants" developing software for the public sector, big companies and such. Largely .NET. It wasn't sexy. A project could be deploying an intranet and making it play with some other stuff. There weren't stock options. People wore suits.

The pay was certainly not poverty level and the required skillset was pretty achievable.
> It’s not perfect, though. It tends to produce annoyingly windy passages between rooms.

One possibility is to straight some corridors in a new final step, but I don't know how well this work in the actual mazes. For example, transform:

-+ +- ==> -----
+-+

and

| |
| +- ==> +---
+-+
The answer to this is dependent on so many factors that you really need to pull them apart a little:

- where in your career you were
- where in location you were
- what kind of employer you had

Far and away the hardest hit during the last crash were new-grads who had accepted job offers that hadn't actually started yet. Those jobs immediately went away and there was nothing to replace them with. I know of lots of people who left tech in general after this, and others who constitute a "lost" generation that has always made less money/done less interesting things because of this. Everyone up the experience ladder did better in an almost exponential way. That is, junior devs either spent a lot of time unemployed or accepted jobs at salaries well below what they were expecting. More experienced devs ended up hunkering down in "boring" jobs and saw their wages stagnate for a few years etc.

SV and the west coast in general got hit much harder than the rest of the country. NYC, Chicago, Texas, Minneapolis, Atl, etc had down cycles but their diversified employer base meant that it was muted by comparison.

Besides the obvious dying of unsustainable startups and their employees, the people in tech. services were much more impacted than other industries. Particularly hard hit, were body shops and the big consultancies. Finance, insurance, pharma, etc all took much less of a hit.

I'd add that along with the dot com bubble, several other factors added in to make the last crash particularly brutal. Lots of enterprises used the 2000 bug scare as an excuse to retool and there was tons of work that went away after that ramped down. Then 9/11 came along and put a major hit on companies willingness to spend on infrastructure.

As far as being "well-insulated", there isn't much advice to give. These are macro factor trends that impact everyone. The advice for this is the same as for dealing with any risk. Keep your spend rate low, have a safety net, diversify your skill set and have a strong professional network that thinks highly of you.
A convenient approch for feature extractor
thanks, I'm getting comments about the ones I left out - looks like this will need a followup :)
I have a hard time believing that scaling back the hash rate gets you vulnerable. $219 million dollars per year ($7/second) in cryptographic operations to support a maximum of 7 transactions per second - the bitcoin network's current maximum is... a bit ridiculous
Parser generators allow you to work on a higher level. The reason why you may want to use one is the same as the reason why you'd want to use a higher level language rather than assembly. Instead of repeating the same pattern to implement every rule in the grammar you simply write down the grammar and the parser generator expands that so that you don't have to. Unfortunately most parser generators are limited in the class of languages they parse, or they are limited in the languages that they can express conveniently. Even parser generators that support full context free grammars are not enough. You need some method to abstract common patterns. For example if you want to express operator parsing in a context free grammar you end up with a separate rule for each level of precedence. Parser combinator libraries do allow you to use the full abstraction facilities of the programming language, but they usually are weak in terms of which grammars they allow you to parse in polynomial time (usually LL), whereas ideally you would be able to parse regular languages in O(n), deterministic languages in O(n) and context free languages in O(n^3). Also parser combinators often do not support streaming & incrementality because their reliance on backtracking forces them to keep the entire input in memory.

I don't know of any parser generator or parser combinator library that simultaneously supports abstraction and supports efficient streaming parsing. Does anybody know one?
Clojure developers wanted in Copenhagen
I'm starting up a new team in copenhagen, and we need solid developers, that knows functional programming, and especially Clojure, or who really want's to learn. The advert is in danish btw.
College Search and Application Process Enters the Tech Era
Well, yes, they do: http://en.wikipedia.org/wiki/North_Korea_and_weapons_of_mass...
Shocking Little Ballerina
I'm sure Rust will be adapted to various boards for enthusiasts as soon as stable version appears and it will be suitable for small personal projects. There even have been some tries[1] and Zinc still looks pretty active[2].

1. https://news.ycombinator.com/item?id=8035293
2. https://github.com/hackndev/zinc/graphs/commit-activity
Reacting to the Sony Hack