skysight-inc/HackerNews huggingface dataset:
Yup. Was there 2 weeks ago working with a group of Turkish engineers - I went online to get some technical information about a particular stream cipher, and WHOOPS! - Wikipedia is blocked, completely.

Fired up my VPN, accessed the page, thank you very much.

"The Net interprets censorship as damage and routes around it." - John Gilmore
Crack in CRISPR Facade After Unanticipated in Vivo Mutations Arise
I suspect that even if it were an option to get notebook CPUs without integrated graphics, very few models would come with this configuration. Apple would surely keep the dual GPU setup to maximize battery life via GPU switching when the dedicated GPU is not needed (and Apple gives you the option of only using the dedicated GPU if you wish).

Most PC makers would do the same. The integrated GPUs are fine for most notebook tasks, even for power users, and they get much, much better battery life, which is one of the key things a notebook needs to do well. I'm on a rMBP and only my integrated GPU is in use right now because I'm not doing anything that needs the bigger, more power hungry GPU.
10k loc is very very minor league. You can do anything you want on a base that size, it won't matter.

100's of thousands to millions of loc is a lot more problematic, many moving parts and weird interplay is to be expected.
I used to be a tutor for my university's CS department. Cheating increased as our influx of CS students increased. Lots of kids who didn't actually enjoy CS, but had heard it was a lucrative career. It was incredibly frustrating to deal with them in class, and when they asked for "help" in the walk-in labs.

The biggest problem was the department heads unwilling to take on the issue. Most who get caught cheating just fail, but aren't reported for it, and the one lecturer who did take it seriously never got anywhere because when he would report it, nothing ever happened. The more students in CS, the more funding the school gave the department...
The best explanation is that context free languages are a superset of regular languages, and it's totally possible to write a regular expression without any extensions for that case: (^|\n)#\s*INCLUDE.
> The grief factor of learning to code is on a different scale to every other major. One missing semicolon will take your whole tower down, and you realise this in the first day of practical exercises.

Only somebody with zero experience with wet lab chemistry or biology could ever write the above with a straight face.

At least you can fix a missing semicolon. If you screw up a long-running organic synthesis, or you kill your bacterial colony around generation 2,000 all you can do is start the whole thing over.
Thanks for responding.

I was also in military intelligence (Army SIGINT, 89-93) and worked in DoD and the intelligence community as a contractor for more than a decade afterward. I don't think I'm completely unqualified from making an evaluation, either.

I agree that issues involving the citizenry should be handled by civilian police organizations and the justice system. In the open and transparent, as much as existing privacy laws permit.

Your argument is basically, "well, private sector is going to do this shit anyways" but that's ridiculous to say that we should continue to be complicit in letting the NSA exist just because if we don't let them do it, someone else will.

No, my argument is that if you turn all of this over to the military, you're going to add a whole new set of problems and you're not guaranteed to solve the existing ones. I am certainly not fine with what appears to be an increasingly lackadaisical approach to collection against previously off-limits targets and an inability to properly protect citizens against online threats.

You're still going to have corruption. You're still going to have waste, fraud and abuse. But if you're turning your workforce from civilian to military, you're now introducing additional issues of training and retention. Think about the E-1s through E-3s in any unit you've served with: they're a mixed bag, some of them may not even really be qualified to be there, they generally lack much of the actual training they need to be effective in their job, and a good number are just counting the days until they can be out.
Using Webpack with ArangoDB and Foxx
While the advice sounds cool, doing one feature at a time is often impractical. I recently moved an old app with spaghetti Jquery to Vue. The paradigm is completely different. What ended up happening is I had a base that worked, moved a set of features at a time from the old to the new. This is more like rebuilding the git history from a new base compared to doing incremental one change at a time that the article advocates.
It's not "rewrite" that's bad, it's thinking you can cut over to a new system in a "big bang".

Rewrites are definitely common and beneficial, but the successful ones always run the new code and the old code side-by-side for an extended period of time. Which means you're still tending and caring about the old code, even as you strive to direct most of your effort into the new code.
To help others with this strategy of blackbox/comparison testing, it's also often called "characterization" testing [1]. (In case you want to read more about this strategy.)

[1] https://en.wikipedia.org/wiki/Characterization_test
I already said it, social engineering will work regardless whether someone hides their identity. Government knows who works for who. IRS is a good source, so this is a myth that hiding photo can save someone's security. No it is a false sense of security. When I said it's a myth it's satirical
Let's Steal Jobs to Be Done from Product
See my response on another comment.
I think he got it right. Mossberg was one amongst a number of everyman tech columnists for a while, but Jobs really elevated him once Apple got popular.
But.. all these things do work in the real world. Keeping refactorings to a separate commit is important as when you break something, you can just roll it back. Countless times I've seen new people come in and try refactoring things to their liking as they work on some other feature. Then when it later breaks some component they didn't know about, we have to unpick their commit and manually separate out the crap 'refactoring' they did and the actual feature they were working on.

End to end tests are great to test the system actually works as expected as per the requirements spec. You should know how to write this, else.. how are you even testing your feature to begin with after you've written it?

And big rewrites always take longer than people think, which can sink a business if they're not careful with their resources and don't manage their time appropriately. All in all, these points you've mentioned all seem actually very reasonable to me.
What would be the incentive for any reddit user to add their location willfully?
I think it looks really good. Not a huge fan of a proprietary expansion port, but I guess there is no other way of future-proofing for certain accessories, like sensors for inside-out VR/AR tracking.

I hope they get enough traction so that it'll be a viable business and these won't be paperweights in 2-3 years time
Many languages allow for assignment and instantiation on the same statement...
I deal with this all the time in ruby and my editor simply highlights vars which aren't used later (quickly leading me to figure out if I had a typo)

As for your traffic example: in many circumstances removing lines and signs makes the roads safer (as reported by the guardian). People pay more attention because of increased uncertainty, and aren't driving (or coding) on autopilot.
https://www.theguardian.com/commentisfree/2016/feb/04/remova...

Paying attention is precisely what we're paid to do.
Franky it's irrelevant. Penrose's insistence that the human mind isn't algorithmic in the Turing sense is born from his human insecurities. But if the human mind isn't bound in such a way, than any man-made computer need not be bound either. Penrose's argument falls short of being a proper dualist argument. Furthermore Roger Penrose has not proven his claims, and they are not supported by mainstream neuroscientists. He appeals to quantum woo that he pulled out of his ass.
Written in Go, source is here: https://github.com/thenrich/rooms
Not newsletters, and more labor intensive, but finding discussions/forums/etc talking about secret management and tastefully commenting on them might be fruitful.

Smartystreets.com does a relatively good job with this. They find discussions, and try to give good advice that doesn't depend on their product, with a VERY light pointer to their site. It's somewhat tricky to add value to the discussion without sounding like an obvious sales pitch.
First and foremost, do not assume that everyone who ever worked on the code before is a bumbling idiot. assume the opposite.

If it's code that has been running successfully in production for years, be humble.

Bugifxes, shortcuts, restraints - all are real life and prevent perfect code and documentation under pressure.

The team at Salesforce.com is doing a massive re-platforming right now with their switch to Lightning. Should provide a few good stories, switching over millions of paying users, not fucking up billions in revenue.
The application may be a steaming pile of crap, but you probably don't have as much knowledge of the problem domain as the creators did. You will get there, over time. Starting a complete rewrite throws away the bad parts, but it also throws away accumulated knowledge.
What's the browser, or do you mean Opera?
A "big-bang rewrite" means rewriting the entire app from scratch. So if you're rewriting pieces as modules you are by definition not doing a big-bang rewrite.
Actually I was thinking upstart in Linux.
#1 is just refactoring.

Make the change simple, then make the simple change.

They only know it took you three days to implement the feature. They don't need to know how you spent the first 2 days.

Paying down that debt allows the team to scale larger and maintain velocity longer. If they don't like your rate of delivery now, how are they going to like it when the code calcifies and everything takes twice as long?
That's not really accurate either.

val foo: Object

will always return the same reference, but the state of the referenced object may have been mutated, which isn't what I'd expect when you say "always immutable, really".
Newsletters about compliance type stuff might be a good fit too. PCI, Sarbanes Oxley, etc.
> I've been planning on reading the Postgres 9.6 changes for parallel queries to understand how they did the magic in a sane and controlled manner and shipped a working feature.

Very incrementally - we've been adding more and more infrastructure since PostgreSQL 9.4. Which finally was user visible with some basic parallelism in 9.6, which'll be greatly expanded in 10. There's some things that we'd have done differently if we'd started in a green field, that we had to less optimally to avoid breaking the world...
I'm curious what "okay" means for you. I've got one of those tiny Edimax wifi USB adapters and it is intolerably slow. Is there some sort of performance tuning I'm missing?
Has anyone made an easier to read online version of Infinite Jest? With pop up footnotes so you don't have to flip pages?
> Raspberry pi is likely not and you don't know it exists.

If a kid can't type "how do computers work" in google, they probably won't become a programmer. Are we really wringing our hands over that?

> All the myths around cs tend reinforce such nonsense.

There's another bit of nonsense around CS that a lot of people here believe - that there are all these secretly good programmers out there who just don't know they're programmers because no one ever told them how to start, and that they might not even know what programming is because it's so difficult to get started.

I find it nearly impossible to believe that there are all these smart people out there, surrounded by technology, with hacking and computers in every TV show, with the President telling them to "learn how to code", Bill Gates' name dropped by rappers, Google in everyones' pocket - and no one is typing "how does my smartphone/videogame/internet work" and reading the results?

Like, who is still walking around like, "I got good grades in school and knew people could become doctors, but I didn't know people could make computers go! Why didn't anyone tell me?!"

Are there other problems keeping people from breaking into the industry? Absolutely. Is "not knowing where to look" one of them? There's no way that it can be, not anymore.
Nintendo Switch shortage due to Apple's demand for components
I made it about 125 pages. I wanted to like it, but the endless digressions and footnotes wore me out.
Not a dig...but questions like this one. I get what you are asking, but I think that people outside of the discipline would be thinking, "You know what I mean. Why so pedantic?"
I can vouch that the approach suggested by OP works from my own experience. Incremental refactoring backed by confidence of safety-nets (tests and ability to fast-fail and revert) helped us stabilize a legacy codebase and then improve it. Depending on how bad the state of code is, adding new features may be even accelerated by minor refactoring.

I would argue that is you do not have idea about how the codebase works adding new features without breaking anything else is going to be sheer luck most of the times.
I wonder how the critical reception to The Pale King will evolve over time. In my opinion it's been a bit over-esteemed by fans of DFWs work. It really does feel incomplete, and not just in a Brothers Karamazov sort of way. It lacks a center of gravity, and I never really felt a strong connection with any of the characters. By the end of Infinite Jest the book had become something greater than the sum of its parts, and I didn't really feel the same thing happening with The Pale King.

The only part of the book that I feel comes close to the greatness of Infinite Jest is the 100-page 'As the world turns' chapter. But then, I don't think that chapter necessarily benefits from being a part of the book, and could just as easily have been published as a stand-alone piece.
Input validation for email addresses is usually an anti-feature. foo+yoursite@gmail.com is a perfectly valid email but almost all email validation will reject it.

Maybe don't accept an empty email address though.
6 Tips for Success in Hacking and Prototyping Hardware
Oddly, it's not the `!done` that is the problem, it's the `boolean done = true`. Which should be `false`
> Not sure where you get the patronizing tone from.

This would be a start:

> Most people doesn't have your or my kind of work. And even those that do will be able to use their phone on any screen at some point.

Nice assumption there.

> The numbers speak for themselves both when it comes to webstats, sales stats, usage etc.

How so... You make it sound so obvious. Webstats, sales stats, usage... you'll need to elaborate. The sales stats of smartphones vs desktop/laptop really doesn't by itself prove declining use or a shift in use. In my industry (which is not tech BTW, so stuff that notion), almost everything across levels in mostly desktop and average age of devices nearing 10 years - this refutes the relevance of sales stats. Primary software is all "native desktop", and real desktop, not some fucking Electron app, not a web app. There are players in this industry that are trying to shift to tablet/smartphone with cloud apps, but they have made little actual conversion - ie it is a rounding error. Webstats are not an issue.

No the numbers don't speak for themselves. Continue implying I'm an idiot that knows nothing outside tech (ha!), or explain.

> some people are going directly to smartphones instead.

"some people" are always doing something.

> primary device the mobile takes over more and more of that work.
The other argument is that mobile devices have augmented many things without significantly replacing existing systems. And really, while that is all fine, if critical things are still dependent on the "old tech" than it is a counter to the significance of a mobile invasion. From personal experience, in a few industries, in 2017, you could make all the smartphones disappear and people would be sad and there would be some significant efficiency losses, but things would move one. On the other hand, make the old PC infrastructure disappear and everything goes to hell. That I felt was, in part, the gist of the OP's arguments and I agree.

I think you're a prick. You certainly come off that way in text.

> You see that once you have to build solutions for the masses.

Oh and I'm going to opine based on your generalizing assertions that your definition of masses must be more limited than you think. Unless you mean masses as "media consumers", in which case I'll just say it is not a small industry, but it is a minor part of the economy.
How to Drastically Improve the Way You Email
Winner of the Week: Blockbuster (2001)
I always say that the places that nope out after seeing my age, are definitely places where I wouldn't want to work when I look at work/life balance, etc.

I think the truth is, it really isn't a good fit. These places want young people because they want that kid to stay all night--maybe with a break with the gang for some beers before going back to work.

No thanks.
Here’s How to Track the Smartphone Apps That Are Tracking You
So one thing I've noticed with peer5 (and I assume their competitors do this as well) is they seem to charge for the bandwidth supplied by the peers. There is/was a plugin for clappr.io that provided p2p HLS playback and now there's Nile.js. So I don't really get what the value prop for peer5 and its competitors is?
Added, thank you.

Also added a bit about the very obvious backup that you need to make before starting any work at all. Just in case...
(Creator here)

Yes, this is plain telephone conferencing and the landing page could definitely do a better job explaining that.

API Gateway + Lambda might still be an upcoming deployment option for this. App Engine was chosen as the initial deployment target because some of the additional features that will be added are cheaper / free for low volume usage when compared to AWS. This already requires Twilio, so releasing this initially for App Engine seems to resonate better.
What's Wrong with the Cultural Elite?
Interesting, thanks! Sounds like it's a really hard problem.
That's ok, we'll be more than happy to charge his boss $something terrible K/month per person to bail them out at some point :)
Office's are not.

Yes they are. For a decade.

(Now, my understanding is that they aren't a great open documented standard, but making the niceness of the format the issue would be moving the goalposts.)

So I'm still curious about what I asked above.
I'm really annoyed by val as well, but the standard library is immutable-first so it's never really a problem for things you haven't written yourself. It can probably be a real pain for larger software with lots of invented-here classes, made by former Java devs, though.
SCOTUS: Patent Rights Over a Printer Cartridge Are Exhausted When It Is Sold
Slightly more accurate to say that "heuristics" in most AV software is simply shit.

It's not even the real clever hacks and actual tricks that are used in tiny size compos that trigger the AV. Stuff like polymorphic self-modifying code (to name one actual trick) is generally only used for size compos smaller than 4096 bytes.

It is really just the executable packers that trigger these shitty AV "heuristics"[0]. Not just the demoscene-tools like kkrunchy, but also more "mainstream" ones like UPX. IIRC, certain versions of Opera were packed with UPX, also occasionally triggered the odd virus scanner.

It pissed me off here because they're smearing one of my favourite art forms. Most of the time they don't even qualify it as a "possible threat", but dig up an actual scary-looking malware name from the database and say it's GenericMalDestructoTerroristLoader.1 or whatever.

It's ridiculous. Imagine a world where most virus scanners trigger when they detect minified/uglified JavaScript. Certainly, web-based malware exploits use that for obfuscation.

For commercial AV vendors, false positives are in fact good for business. A virus scanner that never reports anything ever (because you have the good sense not to click on attachments or unexpected download/install/admin prompts) doesn't have a lot of perceived value. That's why at some point, all the virus scanners also wanted to scan your PC for "tracking cookies", which is not their job at all, but made it seem like they do something. Compare to something like MS Security Essentials, whose incentives are the opposite, and aligned with yours: they want Windows to appear as a solid and secure OS, so the scanner keeps quiet doing its darnedest to keep the user from getting hacked.

[0] Weirdly enough, when you apply a packer to a piece of malware that would otherwise be detected as is, it suddenly foils the virus scanner. Especially if you stack two different packers. Can't find the link where they researched this but IIRC, Kaspersky called out the research as "irresponsible".
Bringing an engineering/scientist mindset isn't a distraction - it's often a godsend. Another tool in your belt. It gives you an ability to research, to understand, to figure things out. It puts you streets ahead of a lot of farmers.

You don't need to be isolated nor put in long hours. But it's more work than I should perhaps have described as "a side project." If I made it my full time job and quit programming for a living, I'd probably be able to say it was only a part time job relatively quickly.

The hard work and inability to just stop are inescapable. You need to be aware of that going in. As the quote about surfing big waves from Point Break goes "You can't just call time-out and stroll on into the beach if you don't like the way things are going" much as I sometimes wish I could.

The peace of mind and living in harmony with your surroundings is good for your soul though. It definitely makes you more aware of living in the moment and having backup plans.
If you're not pretending to explain why all cheating occurs, and we're talking about all cheating based on the article, it really just makes you sound like you have a bone to pick with women. When confronted with the statistics that someone else is seeing more MEN cheat, even with this supposed "situation" you describe, you don't react by thinking "Hmm maybe my anecdotal idea is wrong" but by explaining how it's still relevant. You seem strongly biased here.
So... the easiest way to cheat on programming assignments and not get caught is to google an existing answer and know how refactoring works?

It occurs to me that I may have been "cheating" at the majority of my paid job for years.
We used the same strategy OP describes to bring a legacy emergency firefighter dispatch system under control and it worked well.
Simple answer here is just don't define custom getters, however I do agree that such functionality shouldn't even be allowed by the language for `val` properties. Instead, if you want to define a custom getter, Kotlin should require that property to be a `var` (or `fun` since they're really functions).
Yeah, no doubt that's a huge part of why we have these interview-as-exam experiences in software development.

Still... the exams are harder than you'd need to simply weed out the fakers and cheaters. I can do various linked list and tree operations, set permutations, and so forth, and it's not like I've memorized it. I can apply these things. But the questions I've been asked in interviews... solving that, at the whiteboard, in less than an hour, all I can say is the companies are setting a much higher bar than merely ensuring that someone knows his or her stuff. That's fine, but let's make sure we don't pretend this is all about rooting out people who can't do fizz buzz. You can be pretty good at this stuff and still fail pretty badly at these interviews.