skysight-inc/HackerNews huggingface dataset:
> Organize and design systems

To extend on that point, I think that better programming happens when you don't simply apply prefab design patterns to every problem or be overzealous with those patterns.

This is where things like object-orientation, MVC, SOLID, DRY, abstraction, inheritance, overly-organized code with lots of categories for different things, decoupling, etc. can be taken too far or be applied to the wrong problems.

Basically, don't believe in any one thing. Just understand different approaches and realize that nearly all of them have a % probability of succeeding. That can even mean writing things in a more procedural way.
> Deploy is a simple `git pull`

Did you have to do anything to lockdown the .git folder?
There's a setting, but it doesn't really prevent anything. You're still tracked.
Half of google’s engineers are 3D graphics aficionados and can make compelling 3D scenes? There’s a scale of programmer out there: and whatever that scale is for you I put those who canary physics and computer graphics at the top.
His CV suggests something otherwise. He is experienced.

https://justinmeiners.github.io/files/cv.pdf
CGI is still a reasonable choice for low query rate and simple pages, like an AJAX responder.

Especially when there won't framework already in use on this particular server.

Why add <framework of the day> to your setup when every 10 minutes or so, it's time to read the temperature sensor and return a string with the reading.

Also, since it's served by a transient process, there is no problem of memory leaks, file handle leaks, other resource capture by long running processes.

Per Murphy's Law, of course, everything is fine until one day the internal app goes public and suddenly there are 500 queries a second.
> Also, there might be a more interesting consideration at play in this particular case: if a work is never published, then AFAIK, it never enters copyright

This isn't really true in the U.S. AFAICT - unpublished works do enter the public domain, 120 years after creation. It is true elsewhere, e.g. in Europe, but the standard for publication is lower than you might expect; if one can argue that the work wasn't genuinely private to the author (e.g. copies were made, it was used for public performances, etc.) that's enough to consider it "published".
> My point being: contractors may not have the same sense of ownership or belonging-ness that employees do

That's fair. I do see someone directly working for NSA maybe being more devoted to their country. Though I imagine it must be hard when they know their previous co-workers, who now moved to Booz Allen are making 2x working on the same projects.
Well, at least in this case one can abort (or go into some read-only mode) in case of fsync() returning failure. With most storage media that is the correct thing to do anyway. Having multiple processes and having the fsync() error returned to only one of them is problematic though.

I recently found out that syncfs() doesn't return an error at all in most cases (through data loss :/). It's being worked on ... https://lkml.org/lkml/2018/6/1/640

It's astonishing that such critical issues are still present in such a widely used piece of software.
The need for alternative/open platforms grows daily.
Any sources on how much that actually happens?
Well, I do agree with some points in the article, but I don’t believe even the author really understands how the env. he runs his code on works. There is more to it than just knowing the language, one might argue that you have to know the OS (see fsync misuse by Postgres), how all the involved drivers work, how CPU works, and the list never ends.

It is quite idealistic view, in reality you have to realize you never know how everything works, otherwise you will spend a lifetime in academia.

On Software Engineering side (not just programming), the most important skill to me will be curiosity towards business, not just code. Endless devs are dying in arguing over tabs vs spaces, when their job is to deliver for the business, not for their ego. Surprisingly, it is a common decease (based on my Google and other companies experience). They create their wonderful world of logic and sense, and think that everything that violates it is stupid (like business person asking for a feature).

The skill poor engineering lack is actually common sense.
>However, there is a certain level everyone should know

Sadly that's still debated and you can only get piecemeal ideas from blogs and job postings.

There's no central authority to approve developer skill levels that says "these skills every programmer should know before joining the profession - after that, it's up to the specific job" and then it's legally enforced via certifications and official exams.

Right now, it's up to specific jobs and blogs and you have to figure that out.

It's ambiguous and that frustrates people who like exact and measurable goals when learning things.

I know it seems like one blog isn't a big deal, but I've read many blogs that add things like "10 things every programmer should know" and this language just never ends.

If you took a union set of all the things from every "things programmer should know" article, you'd be studying for about 6-8 years before you got a junior position.

>For example, if a successful login generates a session token and it collides with another token, you could reject the login and have the user try again

Eh, don't even go back to the user. Collisions should be a rare occurrence that you can make a second call to the token generator and just replace the bad one. If you get common collisions, you need a better token generator.
Imagine a juggler, juggling 5 balls at a time. At a set period of time, he will drop one ball and accept another ball thrown at him. He handles this very well because there is order/cadence.

Now imagine asking him to support being thrown balls randomly, at any interval. He may make it work, but I'd imagine he will stutter a bit.

In my experience, anytime you interrupt the page cache's normal routine, it stutters everything. I've seen the "sync" command freeze my Ubuntu machine (music player, GUI, etc).

I work on embedded devices, and my employer wanted to reduce the window at which data-loss would happen for 30mb+ files (video capture). It wasn't a supported use case, "But why not! It makes our product theoretically better!" I put my foot down. We aren't touching page-cache until there is a clear benefit to the user. It almost got me fired, but good riddance if so.
Being annoyed is a choice, though. Why do it if you don't have to?
And that is the case in exactly which places?
I'm not saying that doesn't exist, but I'd be surprised to find that it's a common situation.
But hey, find some stats and change my mind :)
Just looking quickly at his about me page it seems he has at least 6 years programming experience, going by github projects, his oldest project The IOS color wheel argues for some level of skill/experience.
I think there are too many people just looking to "break a few eggs", because these things just don't happen in reality, or do they?
Americans have come to grips with its South Park-esque entertainment legacy for over a decade now. David Foster Wallace was one of the first critics of trashy popculture:

"Postmodern irony and cynicism’s become an end in itself, a measure of hip sophistication and literary savvy. Few artists dare to try to talk about ways of working toward redeeming what’s wrong"
Why is too few models the issue? Wouldn't the problem be that the existing models arent good enough? Its not clear to me how an increased diversity in models addresses the problem - at the end if the day a form has to pick one to make any particular decision. If each firm is using a different model in the name of diversity, then while the few firms with more accurate models potentially do well the subpar models will underperform in general and probably increase the overall risk level of the industry. Is there something I'm overlooking from my skin through the article here?
> I believe OOP and relational database get a lot of flack

Who gives relational databases flack? The RDBMS and SQL is the cleanest, simplest, and most productive technology stack I've ever used.
I have a partially colorblind friend who loves to point out how awful some website palettes and editor colorschemes are. I've switched to more accessible colorschemes as a result. I'm sure she'd be interested in projects like this.
As a shameless plug: I created a chat room on my own graph-based collaboration platform you can join via this link: https://app.woost.space/#page=5W4B6pA5yVDprYMkRyLuE1

I hope a bunch of interested people manage to organize and build something great!
I am not suggesting they needed to be dead for a long time and fully dried out.

“Almost all postulated cases of SHC involve persons with low mobility due to advanced age or obesity, along with poor health.[14] Victims show a high likelihood of having died in their sleep, or of being unable to move once they had caught fire.”

“The "wick effect" hypothesis suggests that a small external flame source, such as a burning cigarette, chars the clothing of the victim at a location, splitting the skin and releasing subcutaneous fat, which is in turn absorbed into the burned clothing, acting as a wick.” For details: https://artcmr.com/Fire-ex/assets/combustion-of-animal-fat-a...

In other words a dead or effectively immobile person plus external ignition source could look like the human was what caught fire. Rather than a small external fire slowly consuming a body over a considerable amount of time. Further, several similar though slightly different means may be involved.
Yes, absolutely. Even the biggest Fortune 500 companies hire interns and juniors to code in relatively complicated apps and systems. Sooner or later they hire more mid-to-senior level engineers to clean up the mess. That example isn't even bad, either. At least you can understand it by reading it. If you've never had to spend days deciphering an ouroboros of several nested loops and if-statements in 2000+ line functions in classes with multiple layers of inheritance written by someone(who has since left the company) with a lack of experience or talent, you are one lucky individual IMO.
shooting the messenger
I have that all throughout a codebase.

I felt momentarily bad about it, and myself, and then realized I have a reason:

The codebase I am maintaining is intended to be readable by people who have extremely varying levels of skill, and who have no intention of ever being professional programmers.

When possible I write stuff so you don’t have to “think like a programmer” to understand it. I’m pleased I use the conditional version more often than not, because I believe it is far more intuitive.
What would make you think that? The law is quite plain in how its written.
Or how many sticks of margarine, according to their favourite margarine brand.
I think a more likely cause of the obscurity of Soviet technological achievment is the incredible, perverse level of secrecy surrounding everything they did, along with complete control of the media.
All Chrome extensions can execute remote code in their own context
The government is not a monolithic entity, but a nexus of competing agendas, and not only does the right hand not know what the left hand is doing, but they may well be working at cross-purposes. This is true of any organization beyond a few dozen people.
I wonder if we've reached the point where many of the people who would have been using CGI scripts (if they had not been succeeded by newer technologies to provide dynamic functionality) no longer know what it is.
I read it. To me, it came off more as edgy, brash and inexperienced than what it intended to do - to influence people on what skills they should pick up, so that they may, according to the author, not be a 'poor programmer'.

Often, there are two factors that lead to very different code than usual:

- Lack of time and hence taking shortcuts

- Simple code is different from clever code

And, the TL;DR that I wish to convey back is:

- All code sucks given the right circumstances

- A skill learnt over time: being a snob is not the way to influence people

- Everyone starts lousy and gets opportunities to learn and become better - even better than you

- The way people think and envision things is very different, and operating philosophies are very different. There are multiple pathways to succeed and the skills you mentioned do not appear in all of them.

Any time you wish to state such an opinion, please think about what would influence 'poor programmers' to do better than status quo.
What has the human brain to do with anything?
This whole thing is philosophical at best. Physics is real whether we observe it or not. I think we settled on that one. Using subjective experience in trying to explain physical systems is bonkers.
An article about bad programmers by someone who is so bad that he can't handle putting up simple static text on a web page sanely is wildly relevant.
Kernel analysis with bpftrace
Finding Idea
More than 2 year i am reading here to find a new idea to develop my SaaS. But i cant find anything. I need your recomends.
The annoying thing is that the Postgres people don't even really need "sync this file right now" for the main data files.

AIUI what they'd ideally like is "sync this file reasonably soon, and let me know when it's finished".
A Simple Framework for Rating Politicians and Other Leaders
CGI scripts don't have to run with web server privileges. Nor should they. They should be set-UID to some other user.

I still use FCGI with Go programs. FCGI launches a service process when there's a request, but keeps it alive for a while, for later requests. It can fire up multiple copies of the service process if there's sufficient demand. If there are no requests for a while, the service processes are told to exit. Until you get big enough to need multiple machines and load balancers, that's enough.
In defence of the person you're replying to, can we not assume that web apps are inherently complex to the degree that complexity is table stakes? I feel like you're being reductive because the actual comment is that "complex web apps" should not be the aspiration. Telling someone that they shouldn't simplify something that is by definition hard is totally missing the point. Removing pain from a difficult process is legit; complex is not a status badge.
Attacking SSL VPN: PreAuth RCE on Palo Alto GlobalProtect, with Uber as PoC
declining by what magnitude? In Cali it's more like they've been oscillating around an upward trend.
Exactly, I have a friend who's from China. His parents bought his house in SF as a "graduation present," though the deed is under his name so it's technically his. However, if he were to lose his H1B, then it's essentially a foreign owned asset at that point.

He describes it as a cultural exchange as parents in China want to help him be successful. He also says that in China, corrupt banks make money disappear all the time. So it makes sense to me.
That's great. The UK really needs some regulations against scammy landlords and agents.

The market is a total Wild West now. During the last 5 years, I have rented many different properties in the Oxbridge area. All brand new houses (I really was the first person living there), from well-known estate agents and with high rental prices.

In all cases except one, I have ended up really dissatisfied. Most properties never attempted to renew my contract after 6/12 months, or asked for an unreasonable rental increase in order to actually kick me out. I suspect this was done to put the property back into the market and generate more fees for the agent. Often, the property would be vacant for a month or two after I left, which makes even less sense.

Twice, my deposit has not been returned and no explanation has been provided. Naturally, I took both cases to the Ombudsman and won. But it is a huge waste of time.

Twice, I had massive floods due to piping issues but received no compensation despite their promises and legal obligation to do so.

I have rented many other properties abroad, including US & Scandinavia. And never had an issue. Here, it is crazy bad. And as a tenant you can't do much, because you need references in order to rent the next flat.
Written as if it's a 25 year old tech no one uses now?

I still use cgi scripts. Though these aren't "scripts", rather compiled binaries written in C.

That made some of the pages with heaviest calculations, load in under a second, which were taking more than 10 seconds in PHP.
stopped reading when it said in javascript bhauaua
if Russia discovers how to hack Cortana and keeps it private, that in no way impinges on NSA's ability to use the same hack to compromise, say, an Iranian system. The more possible avenues for attack, the better (for attackers).
Yes I agree. You need to infer the position about the camera parameters, and need to infer the position about objects and their poses. It's just that differentiating a complex renderer to search for the minimum is an inefficient way to infer the them.

It's better for optimization purposes to train an as simple as possible differentiable rendering model to match the rendering of your complex renderer as a target (so in practice you never need its gradients), and use the gradient provided by this model to search for poses and camera parameters.

It's even better if you can train an invertible rendering model so you can infer the poses and parameters in single step. (The same way that style transfer is done).
This sidesteps the truth of my point. Rebut me with arguments, not petulant downvotes. If you have no arguments, maybe, just maybe, you're wrong.
Purely anecdotal at this point but I remember hearing on the news in the mid 90s about a woman in the Boulder/Denver area who was killed by a “stray bullet” of unknown origin while sitting in her house. So these types of deaths are not entirely unheard of, if we just go by the scant details of this article.
Well, where he says

"You may have seen code which misunderstands how expressions work:

if isDelivered and isNotified: isDone = True else: isDone = false;

Instead of:

isDone = isDelivered and isNotified "

I think that's a matter of style, I prefer the isDone = isDelivered and isNotified style myself, and I think the people who write the other way have very poor style but as arrogant as that sounds I don't think I would be so arrogant as to say they don't know how expressions work.
> It all feels like a situation where the people maintaining this code knew deep down that it wasn't really up to scratch, but were sufficiently used to workarounds ("use direct io", "scrape dmesg") that they no longer thought of it as a problem.

It's an ops-level solution. The one thing you never really do, as an ops person, is reach into the black-box components that make up your infrastructure to fix them at an architectural level. That's not your job. The system is already in production; it's your job to make it run, without changing it—to shim around the black boxes to make them work despite their architectural flaws.

Sure, you can file a ticket with the dev team about how dumb you think an architectural choice was—but, in most businesses, most of the black-box components you're working with are third-party, so filing a ticket isn't likely to get you much. (Google is an exception, but even Google has to hire their SREs from somewhere, and they'll come in enculturated to the "it's all black boxes and we're here to ziptie them together" mindset.)

And, even in an environment like Google's where you have access to the dev-teams of every component you're running, dev cycles are still longer than ops SLA deadlines. Ops solutions are chosen because they're quick to get into production. (Component can't handle the load because it's coded poorly? Replicate it and throw a load balancer in front! Five minute job.) So even if you do file that ticket, you've still got to solve the problem in the here-and-now. And once you do solve the immediate problem, it's no longer a hair-on-fire problem, so that ticket isn't going to be very high-priority to fix.
He could have a vision impairment.
It feels clever if you aren’t used to it but it is super common.

isDelivered && isNotified

always resolves to a Boolean, either TRUE or FALSE

So you are just saying

isDone = TRUE

or

isDone = FALSE

that’s all
Why SEO will remain relevant for years to come
Of the five notable examples, two happened in Ireland, another one was a person born in Ireland. Not to argue it's anything but a coincidence, it just stuck out.
Most media is senseless noise that deteriorates mental health. The problem is that when there is truly nothing important to report on many media publications resort to fabricating outrage and making stories where there are none. Engagement has become conflated with spectacle.
live in San Jose but my VPN terminates in Canada, along with all of my DNS queries, so the geofencing is really weak ;)

The video quality is really amazing.
Used to do mine in Perl... a tangled web of Perl scripts. They worked at the time!
An infrared camera drone with AI should be able to identify giant pythons and other invasive species. Someone make it.
Hi guys, here Florent from Quid.li
We focus on enabling companies to easily share equity with anyone on their team who creates value. We've been using our own solution to build ourselves: you can try our open demo in CEO view to get an idea of how we use Quidli to reward and incentivize our own team: http://equity.quid.li Would love to receive your feedbacks!
I mean it was a street with on street parking, sidewalks, a school etc. I am unsure how you can make such a universal statement unless youve experienced literally every suburb in america.

In san Francisco, most city traffic is less than 30 mph because of high density
If fixing the thing itself is easier, and also benefits everyone else, why not?
Well blaming others is easier than being a good parent. Remember when [insert violent video game] was the casue of all the problems?
Amazon Warns Customers: Those Supplements Might Be Fake
People new to the industry aren't always aware of how those "good practices" are simply a product of the industry zeitgeist. If you've just now gotten your feet wet, you're fully up-to-date.

For example, a preference towards writing pure functions might have gotten called-out during code review as recently as 10 years ago. Immutable programming can result in a larger memory footprint and/or more GC activity and years ago that was considered a deal-breaker... even in environments with plenty of headroom RAM and CPU performance.
Poor use of double negative.

I mean you are not going actually fix global temperate, weather patterns, ocean acidification etc. It’s benefits are simply going to be limited to stuff very near the ocean, and when you start talking trillions of dollars that builds a lot of structures.
Skills are generally gerunds, which are nouned verbs. "Nouned" is an adjective made out of a verbed noun.
Hm. They claim to have zero unexplained gunshot-like injuries in Canada, the United States, and Western Europe over a ten year period. I find this hard to believe. Even if every gun injury was currently attributed to an identifiable shooter (a claim which would itself surprise me) miscarriages of justice are a known thing and people do get convictions overturned.

It’s still an interesting idea, but where did “none” come from?
Is it? Have that many people been switching that they outnumber users installing it on their new machines?
Still doesn't get opening quotation marks right though....
Game companies are learning old IP can be modernized for fresh new profits so most likely a lot of old game copyrights will become retroactively enforced and sources hunted down and expunged as they're remastered and made exclusively available in whatever online shop or subscription service.

https://www.polygon.com/2018/7/22/17600008/nintendo-roms-law...

https://www.maxim.com/entertainment/best-video-games-remaste...