skysight-inc/HackerNews huggingface dataset:
I keep bouncing off LISP, but keep coming back assuming there is something I'm missing.

I'm not convinced it is just 'what is the difference between setp, setf, defvar, and defparameter?' I think it is fundamentally different to how I approach programming.

I learned programming back in the 8-bit era, taught myself assembly, etc. I'm almost a hard-coded imperative programmer. I took to C and Java like a duck to water, and I'm guessing LISP advocates think I'm irreparably broken.

I agree with TeMPOraL that picking up a book to learn things is a good way to go and shouldn't be seen as a black mark against a language. The problem these days is that most books are rubbish. Every Clojure book I've seen is just garbage. I'm guessing CL books are better in regards to technical quality because not every average programmer can vomit one up but everything I've encountered invariably harps on about how much better LISP is than every other idea ever, and how concise and elegant it is, and the general smugness drives me nuts.

Practical Common LISP is better than most in that regard but it still falls into the trap about how expressive and concise and elegant and awesome LISP is right before showing 3 lines of code I have to spend a long time digesting.

I assume I'll get it one day, but it's like turning a container ship going really fast at the moment.

I'm wondering if the best way to understand LISP is to write a CL interpreter.
You may have missed it, but that's question #10 under "Concepts":

My website is slow. Walk me through diagnosing and
fixing it. What are some performance optimizations
people use, and when should they be used?
I don't understand so when a natural gas plant is built they adjust rates upward? Isn't that the opposite of supply and demand?
Is the New Ransomware Demanding Bitcoin More Dangerous Than WannaCry?
Since you should know, is TFA's description: "Reinsurer – There are companies that purchase insurance risk from carriers." a conventional way to put this? ISTM a reinsurer is paid to take risk, which is the opposite of how one thinks of purchasing.
Why StackOverflow's questions are now rate-limited to 1 per 90 minutes? (2015)
I'm not sure if the OP is advocating against using tests and ci completely, or just the process of writing tests first and then code... Any one got any thiughts on that?
Yes! When you know how to use git, you can honor the spirit and basic practice of TDD without following it to the letter.
well I often start with simple things like reversing the words in a string so "The cat sat on the mat" becomes "ehT tac no eht tam". Parse CSV into json. Various things to show how people manage state ( write a mini game of some sort )
>I can't remember the talk..."ORM's are the Vietnam of programming".

Had seen that article a while ago. Saw a few other mentions of it already in this thread, but here are a few I googled for and found:

http://blogs.tedneward.com/post/the-vietnam-of-computer-scie... (the original, maybe)

HN thread:

Object-Relational Mapping is the Vietnam of Computer Science (2006) (codinghorror.com)
https://news.ycombinator.com/item?id=7310077

https://blog.jooq.org/2012/05/09/martin-fowler-on-the-vietna...
It's actually creepy how invasive they are and this is often where the customer-hostile relationship comes from.

"Install this overly invasive tracking device to let us make sure you are an ok risk and we'll give you this immaterial discount that is really a price hike for everyone in disguise."

I got an electric toothbrush from my dental insurance provider that has WiFi to transmit data on my brushing habits back to them. I can guarantee this thing will never have network access.
Yes this is exactly correct. Which is why rising income inequality is hugely bad news for the US. But short of going back to higher taxation, I don't see the situation improving for the US. The rich will Marshall all their significant resources to fight tax increases. Just see the amount of money and effort Koch brothers have put into corrupting the system! It is deeply disturbing.

Also, titans of economy should not be given the reins of running the country, no matter how qualified they might be. They already have a lot of power. In poorer countries, political ascendants are shot dead. In the US, you have attack ads, smear campaigns etc.
Understanding Rate Control Modes (x264, X265)
Its hard to imagine a more efficient solar energy storage medium than oil and gas. I'd be curious how close it is myself.
These remind me of code challenge questions that really seem to require an emphasis on algorithmic ingenuity for tight looped code...

I often work with concurrency, data structures, and integrating with existing code. It never seems like these challenges map to the work I do.
Where are they now? Acquiring and aggressively ruining my Withings Body Composition scale, that's where.
If you have some good questions, I'd love to add them to the list.
One thing to be aware of is that latent hits, via the Queue Time "qt" paramter, have a maximum delta of 4 hours:

"Used to collect offline / latent hits. The value represents the time delta (in milliseconds) between when the hit being reported occurred and the time the hit was sent. The value must be greater than or equal to 0. Values greater than four hours may lead to hits not being processed."

Would be nice if that delta time could be greater than 24 hours, eg. a human approves that a low-volume contact form submission isn't spam and that hit is tied to a GA goal.
2 Ways to Know a Business Venture Will Not Move Forward
I am quite glad for heavy moderation on these topics, look at reddit for example, this kind of talk would quickly go off topic and devolve into mud slinging.

There is certainly an odd dynamic on the "nerdy" websites when it comes to promoting the under-represented gender.

That said, comments like yours (and mine) are only adding to that problem. I guess I'm a hypocrite.
Blind recruitment trial to boost gender equality making things worse
Ceremony sells!
Five Boroughs for the 21st Century – Topos.ai – Medium
I agree that's a bit of a stretch for a comparison. I think it would be closer to saying that the NSA found a key to a company's system, didn't inform the company, and then got the key stolen from them by criminals which then brought down the system.

Obviously that's extremely simplified, but all parties here are at fault. And all we're seeing is a bunch of finger pointing, with not enough defensive and preventative action being taken.
"holds passports or other documents in different names for no obvious reason"
-- their spies are terrorists, wow

"travels for long periods of time, but is vague about where they're going"
-- seriously?! Must every citizen post their travel itinerary now?

"is visiting the dark web, or ordering unusual items online"
-- well, they need to start arresting thousands if not millions of people
-- also "unusual items" like what? When is something "unusual"?

These UK Cops are spreading FUD and turning people, families, against each other.
what you're getting at might explain why The Hartford Steam Boiler has one of the best cyber security insurance products (save maybe Chubb)...
> Far more than just CrowdStrike. Try all of these private firms, in the US and worldwide, including Kaspersky half-confirming it

ACK

> plus the entire US intelligence community

For the record, AFAIK these based their report on data from the above companies. IIRC there was a story that the FBI was denied access to DNC machines but they still signed this report attributing the hack to Russia. That's why I said it's pretty much CrowdStrike's word.

> I do work in infosec

OK, so I'd like to use this as an opportunity to ask another question - is it normal to let such intrusions last for so long? CrowdStrike blog claims that they identified Cozy Bear and Fancy Bear immediately after the DNC hired them, which per the WaPo article they link happened in late April. WL emails run until May 25th and cleanup had been finished on June 14th, shortly after WL announced that they received the material. Does that make sense? I would naively expect that they were supposed to prevent such exfiltration.
Fitbit Charge 2: if you move your arm while trying to fall asleep, the display lights up right in my face. Apple's cinema mode for the watch sounds good.
Well, this isn't a particularly thoughtful take on it, but my uneducated guess would be "oh shit. Realtors posting pictures on Zillow are pissed that this blog exists and is mocking the houses they're listing. We gotta figure out how to shut that down."
I agree with the risk/reward thing. I think you need to take into account how likely you are to use the language before investing a lot into it.

I ignore smalltalk, ruby, perl, python, all that stuff. I don't want to use them, and somthing like smalltalk probably won't earn me money. Rust and D are similar. I've always thought D was interesting but I can't see it being worth my while to put the effort into it. Rust is just too different to bother with unless it becomes the new C++.

I think swift might be worth a look, as long as Apple doesn't drop it like dylan. It is close enough to what I know that it might not take an age to learn.

CL is good for nerd-cred, and gives a good leg up for Clojure. It probably also has some fundamental lesson to teach different to what I know instinctively. So I keep poking at it hoping it will click one day. Clojure seems like it would be a good thing to be able to claim knowledge of.
Uhm... I think you forgot that ethnic han Chinese are human beings like you, capable of reasoning and driven by self-interest.

I don't appreciate being treated as as a mere weapon.
Probably because the initial questions emphasise memorising or creating algorithms, which is a very small part of JS development.
BillForward (YC S14) Is Hiring a Product Manager and Developers
┬──┬﻿ ¯\_(ツ)

At BillForward, our billing and WiFi commerce platform powers some of the largest Software and ISP companies in the UK, Canada, USA and others.
We are looking for: (1) A talented Software Developer and (2) A Benevolent Product Manager

to shape features that define Billing and Commerce for the next decade.

The ideal candidates have deep insights into how to design, build and ship software that impacts the bottom line. This is a great opportunity to be part of a growing team building and running a high growth company.

You will build and design features to improve the BillForward platform. You will nurture a passion for changing the way customers and developers work with billing.

We are well-funded, growing quickly and focused on building a world-class company.

Drop us a line on: 105 097 110 043 116 103 105 102 064 098 105 108 108 102 111 114 119 097 114 100 046 110 101 116

(text 3rd party validated ;))
Domestic money transfers, which make up the bulk of the transactions that people care about are free and instantly confirmed with existing centralized ledgers. Why should people waste time and money using a distributed ledger when the existing system works better?
My friends hate SoundCloud iOS so I redesigned it for them
Hmm. First phone I loved is a toss up between the Treo 600 and the Startac, though leaning mostly towards the Treo. I still miss that keyboard.
Do you write the tests first - before the code - and while still exploring the domain? That's the guiding principle of TDD.

Writing tests after the code has been written - to lock down behavior, quickly identify breakage, and support refactoring is a valuable process. But it's not the original vision of what constitutes test-driven development.
> What is REST? I use it every day but would have to look up a proper definition for you.

REpresentation State Transfer

...

That's about all I can do to define REST. I can't really tell you what it really means beyond describing CRUD, but I can identify a REST interface when I see one.
A good service.

While registering, I noticed timezone as "Indian Time". It should be "Indian Standard Time(IST)". </nitpick>
The principle should be the same.
> Do you use TDD on prototypes?

Yes.

> Or other projects where the design is highly likely to change or be discarded?

I don't often just start writing code without thinking about the design of the system or module I'm working on. Unless I'm writing a one-off shell script or some simple elisp glue code... I write the tests first.
https://sekao.net/nightlight/
what I missed was that these are supposed to be practice questions, so while they are sucky questions, they are question worth practice as opposed to good questions to ask
I think extra work and productivity translating into reward is one of the best indicators that you are in a good company.
Interesting only one comment made a clear call to backups. Strongly second the notion of backups as a high priority to learn and implement. Could make it more "devops-y" by also automating the verification of them with restores/testing.
Yes, but, this is not an open market, this is the CPUC and they have a captive audience they can force to pay whatever they want to force them to pay.
I think Sam has the right idea of getting more tech minded individuals in government. I also think getting more experts in various fields would be beneficial too. But given the current system, both societal and political, it seems that this is far away.
I had a very expensive Cisco IronPort start blackholing email when a license expired. From what I'm seeing this license enforcement approach is not unheard of in enterprise products.
The "Nguyen v. Barnes & Noble Inc" decision is absolutely relevant. It's true that they were arguing about whether an arbitration clause applied, but what's important is the analysis the court used to determine that it did not. The distinction between clickwrap agreements (where you click a checkbox to say you agree) and browsewrap agreements (where you're expected to see some notice buried in the footer about the terms of service) was critical to the court's analysis in Nguyen. In the opinion, the court cites a long line of precedents to show that if a browesewrap agreement is sufficiently well-buried that it does not put a "reasonably prudent user on inquiry notice of the terms of the contract" then it does not apply.

You could try to draw a distinction by showing that this particular browsewrap agreement was more prominently featured than the one at issue in Nguyen, but you don't get to just hand-wave it away by saying that it was about an arbitration clause.
There is very little competition in electrical utilities. The theory is that in order to prevent competing electric lines from being built, government must control prices. However, many utilities still have private investors, who want prices to go up. Since existing prices already pay these investors a fair return, they have to find a more objective reason than "we want more money". Often this takes the form of unnecessary capital spending, the costs of which can be inflated and passed on to captive customers. After all, if the capital spending (e.g. on a power plant) were necessary, it would itself generate a return (e.g. by selling power) that would attract investors. The public is victim of the principal-agent problem when public utilities commissions approve such arrangements. This has led to a situation in which California and other states have more generation capacity than they need.
Except they achieved the outcome that they stated they wanted. EFF says McMansion Hell won’t use photos from Zillow moving forward.
At least the trains are mostly working, unlike NYC or DC. Corruption coupled with performance is more palatable than corruption that leads to chaos.
"All of those things are there for a reason, and most of them are very well thought out"

From reading about the history of LISP I'm not sure I agree. My take on it is that It was never meant to become a real language as it is now, some guy hacked together an interpreter for the s-expressions because it looked fun and easy, no-one ever bothered to take it further, and here we are.

LISP seems to be the bare mininum required to do whatever McCarthy was starting to explore and these days a lot of LISP nuts seem to think it is the coolest thing ever because of its minimalism without realising it was never meant to be that way.

Yeah, you can express anything in lists. You can also express any program in a turning machine. Doesn't mean you should.

But I don't know LISP well enough to say whether people who are commercially successful with LISP owe it to the language, or they would have been whatever language they use.
2 Montessori schools in NYC accept Bitcoin payments for tuition
Original author here...

Your writeup mirrors my personal experience, which was why I was such an advocate for so long. But it doesn't mirror my team experience at all.

I bought Feather's book when it first came out and liked it so much that I bought copies for a whole team out of my own pocket. And I talked about and taught the techniques to the team members.

I had high hopes, and a good team, but the results that we got were not what I hoped for. The result we got was a lot of small tested functions throughout the codebase ("sprouts" in Feather's nomenclature) - which I expected - but I didn't see any evidence of coalescing of those tests into something better - and by themselves, the sprouts made the codebase worse.

I ran into a number of cases where I would pair with developers who were looking to do something better than sprout - so they could fix a whole class or area to be better - and the best answer I could give them is, "give me a morning and I can probably come up with a good solution", which doesn't really help. Some code is just aggressively hard to test.

And I should mention that this was pretty much the perfect environment to try this; I had a team without shipping pressure and a mandate from above to write better unit tests and sufficient time to train and pair with developers.

The approach we settled on was different. We spent our time looking for "targets of opportunity"; the problematic classes or groups of classes that were leading to real issues - bug farms, hard to modify, that sort of thing - and we took a targeted approach to replace them. The replacements were generally written using TDD.
Totally agree about the need for moderation. I am not complaining!

I am not sure how our comments are adding to the problem. We should not act as if there is no problem with prejudice and bigotry in society generally. Sexism and misogyny in technology in particular.
Maintaining privacy is now terrorism, what a world.
That's really interesting; thanks for sharing.

But based on what you say, that sounds exactly like the narrative of authoritarianism vs. democracy. You have a bunch of elites with no responsibility that are tremendously disliked in power. In a democracy, they'd (theoretically) fear losing an election to a populist. Heck, even if they were regular despots, they'd be at least marginally afraid of revolution. But the elites in Hong Kong are installed by China; they have no fear of even a revolution.
I don't use ITERATE, but that's more because I haven't felt the need than because I dislike it; it looks much better designed to me than LOOP. Maybe I should give it a try.

As for giving my opinion weight, it's definitely a minority opinion among CLers, but I think we're a significant minority; I don't think I'm the only one.

DO seems a little complicated at first, it's true, but once you understand it, the parts all fit together neatly. The only thing I wish had been done differently is the sense of the exit test -- currently it acts like "until" (the loop is exited when the test form evaluates to true), but the consensus of modern programming languages is that "while" behavior (exiting when the test is false) is more natural.
Like Us, They Kill and Consume. But Could They Save Us?
“Oops” Yarn update breaks private npm modules
I ask some of these questions for assessing JavaScript:

- what is the challenge of asynch programming in JavaScript?

- what is your personal approach to solving the challenge of async programming in JavaScript?

- do you know what promises are? if yes, can you explain how promises work?

- what is the key problem with scope and this in ES5? how do you address it?

- have you used ES2015/ES6?

- if candidate has ES2015 knowledge: what are the features of ES2015 that you find most valuable?

- if candidate has ES2015 knowledge: what is the key value of arrow functions?

- if you have used asynch and await, can you explain how to use them?

- which JavaScript build tools do you use? what purpose does each of them serve?

- which JavaScript frameworks or libraries are you most familiar with?

- do you use the browser developer tools? which do you use? explain the process of using them.

- how do you use 'inspect element' as part of your development process?

I'm not interested in questions of syntax because doesn't every programmer spend all their time looking up syntax?
"What happens when I point my browser at $CANDIDATE'S_LAST_PROJECT?"

"What's your strategy for avoiding bugs?"

"How do you choose technologies?"

These three questions will prove

- that the developer understands the technology they work with (they know about networking, infrastructure, the server tech and are curious enough to learn about the runtimes their apps actually live on);

- that the developer has a mature opinion on testing (she knows what is and isn't worth automating, and that E2E automation often has a poor ROI)

- that the developer uses due dilligence and smart heuristics to choose technologies ('write a prototype!', 'eyeball the open source community!') rather than trends and groupthink ('everyone uses React!', 'someone on Medium said it was "curated"!')

These are the real competencies to filter by. The actual programming part, in most jobs, is easy. 80% of the roles I've interviewed candidates for have just been extravagant excuses to move around strings and shuffle integers between databases and browsers. I see no reason to believe this will soon change.

The last time I did anything vaguely 'algorithmic' was when I needed to sort a few thousand items without killing IE8's UI thread, and I solved it fairly trivially by writing a quicksort that used the recursion calls as an opportunity to yield the event loop. That's it. That is as far as most JS jobs go. I think anyone insisting otherwise is just being self-important.
Have you found that these questions have definitely helped you build a strong team? Has anyone ever passed your interview questions but failed as an actual employee? Just curious
What's stupid is that you could build something similar that doesn't need power.

Take a look at contactless bank cards. They're powered by the signal from the NFC reader.