skysight-inc/HackerNews huggingface dataset:
Ask HN: Best resources for coding challenges?
Dear HN,

I read about this recruiting practice of strange coding challenges that have no direct relation to the position applied for, but till yesterday I didn't encountered one of them myself.

I designed and programmed software for years, but still was baffled by the challenge I encountered.

It wasn't hard but I didn't expect it and the time I had for it made me rather nervous. After I submitted it, I thought about every piece of code I now would write differently and felt rather ashamed.

If I practiced such things more often, I would probably be more calm in doing them under pressure.

Now I'm asking you, what is the best resource for such challenges?
I have worked with many people like this. They want to appear smart vs getting code shipped. Many .NET projects fail because of developers like this guy. Many of the assumptions he is making are incorrect at worst and untested at best. I Have worked on a few EF projects and have never found that to perform better than SQL in any case other than the most simple example project scenarios. Dynamic binding will rarely be a performance concern when used properly.
This guy has read all the .NET code pundits gospel and is now publicly bashing an open source project that he admits he hasn't even tried to use yet.
I think this really should have been discussed offline via email.
The whole disclosure stems from hacking of another e-mail account, apparently.

The disclosure that Hillary Clinton used a non-governmental e-mail address while she was Secretary of State originally came courtesy of “Guccifer,” the Romanian hacker now serving time in a Bucharest prison for his online attacks against scores of public figures.

As TSG first reported in March 2013, “Guccifer” illegally accessed the AOL e-mail account of Sidney Blumenthal, who worked as a senior White House adviser to President Bill Clinton, and later became a senior adviser to Hillary Clinton’s 2008 presidential campaign.

When “Guccifer” (who was later identified as Marcel Lazar Lehel) breached Blumenthal’s account, he discovered an assortment of correspondence sent to Hillary Clinton at the e-mail address hdr22@clintonemail.com. The “clintonemail.com” domain was registered in 2009, shortly after her nomination to become Secretary of State.[1]

They host with MX Logic[2], some McAfee's enterprise-y mail service. At least it wasn't statedeptsugarycake22@gmail.com.

[1] http://www.thesmokinggun.com/documents/investigation/hillary...

[2] https://www.mxlogic.com/
But a change of language might bring you more tools, for example to handle thread-pools or process pools (service worker pools). Some of these things might be much easier to do in Go (or Java or C#) than in Ruby and if that part was a reason the new version works better the language change did help. I am no saying it was impossible to improve performance with Ruby but they might believe it was easier with Go.
I still think a monolith app can be more performant than micro services in a lot of situations but you might have to use things like thread pools/channels.
> I have trouble imagining how to make something like C any lower without becoming architecture-specific or cumbered with details that are more economically-suited for a compiler.

You mean Algol, Mesa, and few others from the same vintage or even older?

Or rather Macro Assemblers like MASM, TASM that provided higher level macros for structured programming?
Inside Project Loon, Google's Internet Balloon Project [video]
Many universities have rules limiting pay and promotion opportunities to people without PhDs.
You are not allowed to do an HTTP GET with a meaningful body. Happy?
Their 500 page - https://github.com/500.html - is better
The headline makes me think of NoSQL. The NoSQL (poor nomenclature) movement came about because of limitations with decades-old SQL. I don't think such problems exist with REST, which is still fairly young.

More importantly, REST created a relatively clean and clear API that almost anyone can understand for any service. Sure, it does vary, as it is not "standard", and every site has their own resources and paths, but the learning curve to a new API is dramatically lower.
Research Square - Durham, North Carolina and remote - www.researchsquare.com

# About Us

Research Square (est. 2004) helps researchers succeed through our world-class technology enabled services. We are home to the American Journal Experts, Rubriq, and JournalGuide brands, which provide solutions that help researchers communicate their work so they can get back to making discoveries. Research Square is a dynamic company with a global reach, located in the West Village area of Durham, NC.

We have challenging opportunities for bright, hardworking, and self-motivated developers. The focus of this role will be on the back end, with occasional front-end work, utilizing PHP & MySql. We are looking for mid- to senior-level developers who exhibit personal humility and who strive to enable the success of their team in our fun and collaborative environment.

We do agile development running 2-week sprints. You will have time to write your unit tests, your code will be reviewed by peers, and it will be pushed to production on a weekly basis. What you create will get used!

# Software Engineer

http://researchsquare.theresumator.com/apply/lCMdO2/Software...

As a developer you will be working on a variety of projects for both internal and external clients, including building web applications, APIs, search and social integration tools, and data analysis tools; maintaining existing PHP code; optimizing MySQL queries; and developing custom PHP solutions. For this position, we are seeking applicants with 3+ years of PHP development experience.

Requirements

+ 3+ years of PHP or OOP development
+ 3+ years experience with relational databases
+ Understanding of MVC design principles
+ Familiarity with Git or other DVCSes
+ BS in Computer Science or equivalent experience

Bonus Points

+ Experience with multiple programming languages
+ Experience with Zend Framework / Slim Framework
+ Experience with Agile Development
+ Experience with Doctrine
+ Experience with JSON, REST and APIs
+ Experience with JavaScript (jQuery)
I've been feeding my family and paying my mortgage using the Microsoft stack. God bless it. I also have never understood the REST mojo. I agree with the original poster. For my money, a url that resolves to a public API end point, with query string parameters to encode the arguments, is the most straightforward way to do RPC over HTTP I've used myself. When things get more complicated, as with an ajax client, then embedding JSON in the request body has also always worked well for me. Would straight up REST be better? Maybe, but I don't see it.
Human gene found to increase tolerance to arsenic
I have used this in the past with success. It does its job.
All good, but don't you also think the kids need some time without their parents and other adults? At least when they get a little bit older..
Contentful releases sample apps for iOS/Android
But...but...their 404 has parallax
An aside, but do they really normally run a 2-month interview process, or was it some kind of scheduling issue? Seems like a lot of candidates wouldn't even stick around for the end of that, since they'll have gotten an offer from somewhere else before then.
Maybe at the low end, but definitely not at the high end. As long as they can easily get a position at CMU or Stanford, the university isn't going to low ball them on pay.
Nvidia unveils $199 4K-ready Android-powered gaming console
IBM Watson Group buys AlchemyAPI
The benefit is not (necessarily) that these ways of doing things are inherently better; it's that they are commonly used.

If you do things in this manner, everyone who has to deal with your API will have a good understanding of how it works. Even people who've never studied REST will have a good idea of how it works, as long as they are familiar with the web in general.
Can we have the title changed to reflect the one in the article? The current one feels like it means that the UN is saying we need a privacy watchdog.
Dave Winer maybe?
I don't think we know where it was physically located. They are probably referring to DNS records in this article:

http://bigstory.ap.org/article/b78ba433af3a45209668f745158d9...

This is another case where I wish they would just get some IT expert to look at the evidence and explain it technically (not dumbed down, not for a layperson). Maybe only technical people would understand, but at least the media record would be accurate.
Yea I'm worried about that too. I was raised in France but live in the US, as an 8 year old I used to explore lot's of things.
But I'm not actually sure I want to let my kids do the same, I remember doing a lot of stupid things too and I'm not sure any of this freedom taught me anything:

- touching dog poop to enter a "ninja" club

- entering many private properties

- climbing dangerously high trees

- crossing quadruple railroad tracks with TGVs passing on them.

- putting my head next to a passing TGV (about 2 feet away), just to see how it feels and be scared

- jumping off high ledges to see how far I can fall without hurting myself.

- walking near ledges with a 2 story drop.

- playing with explosive fireworks, big enough to blow up a couple of fingers. I could just buy these as a kid in France.

This is just a small list, and I was honestly a very quiet, calm kid. I just had an active friend.
And as I said, I don't remember this teaching me anything.

Whereas I remember spending time programming (visual programming) at 8 years old, and that was awesome and taught me a lot.
> Introduce "DOM batching mode". In this mode remove the immediate mode guarantees. If you specify an element width you are no longer guaranteed to read it back until the layout occurs. So store your intermediate element width somewhere if you want to use it. Of course you don't need to specify batching mode for all the DOM tree. Just the majority of it that doesn't require custom layout.

Some sort of DOM-like buffer[1] that you could render into and then "flush"/insert, maybe?

[1] https://developer.mozilla.org/en-US/docs/Web/API/DocumentFra...
Communicating by text is hard. If you're not explicit, people could read something different than you intended - I read the last quote as saying project is EOL. The quoting is not obvious.

I stand by my opinion though. If you tell this to any single user, you're just being a mean person for no reason and you are the reason they are unlikely to understand what the issue is about. Maybe that user just read the message and wrote to people he knows "I'm never using opensource projects from github, and this maintainer is the reason." - how does that situation improve in the community?

Rob could end it in so many different ways that would be less aggressive. He didn't even say "learn how github/FOSS works and then check the project again", just "don't come back". It sounds like it's us-vs-them and "they" cannot be expected to learn and improve.
They are probably talking about the DNS records. If you look up my domain, it will list my home address, but the server is not in my house. The second quote is pure conjecture once they didn't understand what a DNS record is.
This seems like a very difficult statement to support

Notice, I am not saying it is not plausible or realistic, I think it is. I also think that there is a fairly short time horizon (<100 years) based on the state of computing currently.

That doesn't mean we know what the path is though. So will it come through scaled ANN? Maybe WBE? Will it be an emergent property from all of the routers in the world exchanging state information? No one knows.

Furthermore, the past decade has seen multiple machine learning triumphs that many AI researchers thought were 25+ years away: self-driving cars, machine translation, high accuracy speech recognition, visual image content extraction.

How many times does the professional AI community have to repeat this?: Narrow AI projects do not necessarily have trajectories toward AGI. Yann Lecun JUST REITERATED THIS again last week. Seriously, how many times does it have to be said for people to understand it?

Yes there is progress in machine learning, but those say almost nothing about Artificial General Intelligence which is magnitudes of difference.

So again, there is no PATH TO AGI. No one can sketch what approach, if any will get us there a priori because there is so much we don't know about intelligence generally and all of the subsets of problems within it.
On this I agree. The guy was out of line and used the wrong forum to criticize the project. Personal attacks on appearance or childish remarks were uncalled for.
Have You Outgrown Your Current Backup Tool?
I figure a lot of the time, you don't write it like that, but you get weird behavior in a much more complicated situation without obvious defects that eventually can be reduced to an example that would fit in with those quizzes.
> If you end up telling your users "Please - use something
> else and don't come back." you're the problem.

Sometimes, removing toxic community members is a very positive thing to do for a community. When toxic members are tolerated, they have the effect of driving away the positive contributors.
Wow..Thanks a lot..Now I understand the sentence..

But I think now this may force us to use more handlebars. Manipulations in didInsertElement may get affected as well. Like updating classes which I sometimes prefer doing in hooks like click, didInsertElement.
Trollish troll is trolling.

Rust has a myriad of ways to handle errors, and unwrap is the most blunt of those instruments as it explicitly converts handleable errors into panics.

Alternatives such as try!, unwrap_or(), and many others, should be your preferred options. I try to only use unwrap() in throwaway code and usually only in main functions.

The one thing rust doesn't let you do (at least without warnings), is to have unhandled errors.

Being forced to explicitly handle error conditions is a huge net win for any production code.
Read or understand? This is legalese we're talking about.
Sure, you can do that. But kids have a tremendous amount of free time (after school on weekdays, weekends, spring, summer, and winter breaks). They should be running around the neighborhood for most of that time.
A main takeaway from this article is that being an active parent in this way is NOT a middle ground - of course it's a positive thing, but it is in no way the same as letting your kids roam the few miles around your home without supervision. That teaches a whole bunch of different physical and social interactions you're not going to get tagging along with daddy.
Is it true?? Really???
Clinton ran own computer system for her official emails
Hm this was the predominant way things were done about 10 years ago, and I think many people decided it ended up being harder to read.

Take this to its logical conclusion, and you end up with "http://mywebsite/getUserProfileFirstAddress" when you want an endpoint that just returns the first address (or you end up with lots of stuff in a query string that ends up becoming a quasi-programming language), as opposed to a "restful" way of doing it, "user/1/profile/address/1". It's not so much about being readable for computers, we can solve that problem, it's about being readable for humans, which is the harder problem to solve.
The new Google Contacts
Is there a way to see what is actually filtering TCP port communication?
Show HN: Net Promoter Score (NPS) for Google Analytics
It's probably a contrarian opinion in the age of coding katas, dojos, challenges, courses, "academies", and such but I think the best way to improve is to actually work on things that interest and challenge you personally. You'll always be your own harshest critic, but at least when using your own projects for training you're working on something real and without the artifice of challenges someone else thought up.

If you were baffled by the challenge itself, that's probably because you never encountered that particular problem before. This is fine, everybody's got to make decisions about how to spend their resources, including what to learn. If you feel this was something you should have known how to do, take it as a sign and go find out more about that subject.

On a larger scale though, I think interviewing coding challenges are starting to have the same drawbacks as the millions of, say, Javascript coder academies out there: it's that form of artifice which distances the challenges from the real world. Instead, and I believe increasingly, they measure something entirely separate from solving actual programming problems: solving coding challenges in a vacuum.

It's becoming our industry's form of standardized testing. You can learn to do well at it, but beyond a certain level of expertise I'm skeptical this is coupled to actual engineering prowess.

You might say: "okay, but if this is a skill I need to know in order to get hired, so be it", and that's a valid perspective. Google will guide you to a plethora of training sites. But I'm beginning to wonder if it makes sense at all to work for people who expect standardized outcomes in these tests.
You don't know me then. I've forked a v1.0 OSS .Net project on bitbucket and am attempting to get it moving forward again. I have a number of pull requests queued, waiting on the original two devs to communicate. So far, they've commented on one ticket, that's it.
I've used the following:

Project Euler,
TopCoder,
/r/DailyProgrammer
Wouldn't any similar article from two weeks ago say the same thing about Hillary?
An IO abstraction in Rust.
Microservices Must Serve the Business
Some didn't dwell, some dwelled and got over it, some are just plain sociopaths.
Wanted to know thoughts about how NPS can be used to drive valuable insights in Google Analytics.

Are there any #measure whiz kids willing to comment?
Isn't a declaration "extern int i;"? Without the "extern", it's a definition, there's a symbol in that translation unit, etc.
> If you end up telling your users "Please - use something else and don't come back." you're the problem.

haha seriously? He's the "problem"? What problem? He is the author and owner of the repo in question, and he can do pretty much whatever the hell he wants within that repo. The other guy is entitled to exactly on extra large serving of "nothing whatsoever".

If you have some freeloading, non contributing imbecile that randomly stops by to tell you how you did it all wrong, and when are you going to make it so that it is more to this guys liking, the only problem I see is the random twat.
Querying the top N objects per group PosgreSQL vs. SQLite
Competition is always great. So here are my problems with Paddle:

1. Too much hidden information. The main page should specify the pricing because that's the first thing we all look at. Yes, I know about the pricing page. But a click away is one too many. And I couldn't find a list of supported countries. If I don't know the cost and if I can get it, I'm not going to waste time asking.

2. You're cheaper than FastSpring now. But when FastSpring started it was a lot cheaper and more dynamic. You're competing with PayPal, not FastSpring. And PayPal is charging 2.9% + $0.30. So start where FastSpring started, not where it is after a couple years of growth. A bonus would be to find cost-effective ways to handle different price points. A 5% fee is ok for a $5 sale, but for a $1000 sale it's a bit too much.

3. Not sure how to say this in a more diplomatic way, but your store forms look spammy. Maybe the cluttered elements, maybe the asymmetrical design. You should talk with a designer and create something cleaner and nicer. The purchase forms are the last step of a sale. If they are not perfect, the client can easily change his mind. At least this is how I feel as a seller.

Good luck. And find ways to do things better. Innovation always attract people.
> And these ‘simple’ URLs can be a pain when you want to extend them with more parameters, or even use more complex types like an array as a parameter.

Except in REST, a resource would not be identified by an array. If the resources would be a list and you would want to filter it, you would indeed use query parameters.

I do not see that the article brings up valid concerns at all. It seems to me, that the author just wants to simplify something, which is already quite nice and simple.

REST is a common standard, that fits nicely on top of HTTP. Why not use standard error codes if they are already available and commonly known? Isn't that the whole point about standards, that people know them and are therefore already better informed without knowing your specific implementation?

I understand criticism against religiously following standards when they are hard to implement or the benefit is marginal. I for example get, using cookies for authentication of an internal API.

I don't see the point of restricting myself to POST and 200/500 error codes, the extra work here to conform to REST is minimal while the benefit to the consumer is clear.
OT... I am really annoyed that so many news sites set their videos to autoplay. Facebook does it too. This was bad in the old days when it was common and it went out of favor for good reason.

Note to those responsible (not that they'll read this):
I might want to watch your video after I first read some text. When I hear the video start up while I'm trying to read, I immediately try to press stop. This usually takes several attempts because your video players are awful. Nine times out of ten, I will leave the site without watching your video or reading the text. I don't have time for the aggravation.
The Secret Behind the Success of Apple, Sonos and Red Bull
I usually just go to the fallbacks because I honestly have no questions. So I just go to the standard BS. I don't really care about the company to be honest. I've never liked any job I've ever had in this industry and I don't really see that changing based on company. I only work because I have to. to provide the lifestyle I want for myself and my family. I work because I need money and that's the absolute only reason.

I know people are going to tell me how wrong this is but I'm just being honest. How can I pretend to be interested when I'm actually not? Coincidentally I've been looking to make a move and not finding anything but I guess that's not surprising. There is nothing I really like in life but at least people tell me I'm pretty good (or at least I've never been fired) at this software stuff so I just stick with it.
It's a pity that this ELB policy (ELBSecurityPolicy-2015-02) also disables 3DES. For older browsers (for instance IE8, see https://www.ssllabs.com/ssltest/viewClient.html?name=IE&vers...) the only options with a good enough key length are RC4 and 3DES.

Newer browsers also have AES, so they don't need 3DES, but it's still useful as a fallback for older clients, and it's still considered secure (but slow).
hello Sebastian

My name is Hassan Jamal and I’m a software engineer from India. I finished my Bachelor of Technology in Computer science at JMI New Delhi. I have also worked for Accenture as a Software Engineer from 2007 to 2009. I love writing software for many years and I’m willing to intensify this relationship with upcoming challenges.

For reference please have a look at my linkedin profile https://www.linkedin.com/in/hsjamal . I also request you to please have a look at my GitHub reposhttps://github.com/hassanjamal/ .

I would love to discuss in more details and i think skype is better than anyhting . My skype id is live:hassanjamal .

I am looking forward to hear you
Why is this news now? Wouldn't everyone she would have corresponded with have known it isn't a government email and raised a flag?
It was a bit short and sent to an outook.com address, maybe it was that!
It said it was based on Mongo DB.