skysight-inc/HackerNews huggingface dataset:
My first program was written in FORTRAN IV and it compiled and ran in the summer of 1967. After that, I learned APL, Z80 assembly, and BASIC.

The August 1980 issue of BYTE magazine was all about FORTH. I read it cover to cover, then sent to the Forth Interest Group for a copy of the implementation guide and the 8080A listing of Forth.

I typed it all in, including comments but changed the 8080A mnemonics to Z80 mnemonics. After the typos were corrected and the I/O routines modified to run under TRSDOS it ran as advertised. Then I optimized the code for Z80 which made it both smaller and faster.

My job then took me from Tandy's manufacturing plant to the R&D department where I wrote assembly code for another product but continued to work on Forth as a side project. Management said that they would be willing to release it as a product if I could get a signed statement declaring Fig-Forth to be in the public domain. I tried repeatedly to get people at the Forth Interest Group to sign but was never successful. This is the reason Radio Shack never released Forth, though many people in R&D used my code internally. They especially liked the ease of number base conversion.

From Tandy, I went to an industrial equipment manufacturer where I wrote a lot of assembly for embedded applications. I ported CP/M to run on TRS-80 model 12. The need arose to read input from a graphics tablet via serial, process the input and output a bitmap. My estimate on the length of time it would take to write this for the CP/M machine extended past the deadline.

I combined my Forth code with the drivers for the Model 12. The boot procedure for Model 12's consists of reading 26 128-Byte sectors from Track 0, Side 0 into memory and jumping to the loaded code. I changed to format of the remaining tracks (both sides) to 9 1K sectors and a 256 byte sector (double density). My boot code prompted to press the F1 or F2 key, then read all the 256 byte sectors on side 0 or side 1 (depending on F1/F2) into memory. I added a FSAVE word which wrote memory to the 256 byte sectors. I had a Forth operating system. I wrote the code for the application in Forth, performed the necessary scanning and conversion and output the desired bitmap with time to spare.

I highly recommend learning assembly for at least one processor. Without it, you can only know about Forth, you don't really know Forth. I understand how directly threaded code (DTC) works but I prefer the indirectly threaded code (ITC) model of Fig-Forth as it seems more elegant to me.

I still have an x86 machine running Windows XP which will run the 16-bit code but it will not run on my Windows 7 system. I am looking at ciforth [1] which is a 32-bit implementation. I intend to get it running under Windows 7.

Forth is a really good system for a command line environment. As far as readability goes, the code itself has such high information content that it is difficult. It is up to the programmer to add abundant comments which make reading the code unnecessary in most cases.

I'll conclude with a Forth joke:

: Decompose ROT ROT ROT ;
It does not look like the prefix is inserted automatically. For example, recently I saw the post "How should i document my code?" (https://news.ycombinator.com/item?id=13517171) appear in the main feed. That post also appeared in the "ask" feed, even though it did not have the "Ask HN:" prefix. This tells me that the prefix was not inserted automatically, and since the post I referenced wasn't flagged/killed or otherwise hidden, I think text posts without the prefix are OK.

That being said, I think at this point the "Ask HN:" prefix has become a site convention, and so it's worth putting in the prefix. It also helps make clear which posts are links and which posts are questions or discussion topics.

P.S. Yes, I'm aware that non-links don't have a domain name after the title. But I argue the "Ask HN:" prefix is better: The domain appears after the title, and since titles all have variable lengths, your eyes have to search in two dimensions for the domain; with a prefix, your eyes just have to move in one direction.
getting rid of overly intrusive governments in the daily lives of people...
This reminds me of a switch I heard about at UMaine. It was a 48-port Cisco something or other installed and configured to basically be a dumb switch in a telecom closet in some building around 2004. That building happened to have some things in it that needed to be on generator backup so it never lost power. 11yr later my friend went to go upgrade it.
For all of you replying to this comment, what recommendations would you give for someone wanting to learn all this stuff?
How the White Cube Came to Dominate the Art World
> This would be unfortunate for conference attendees from Central and South America, but they're far outnumbered by the conference attendees from Europe and Asia.

Then surely, somewhere in Europe or Asia or perhaps wherever the centre of mass of the conference participants happened to fall would be the cheapest destination? I, for one, do not live in the USA, so Canada would definitely not be cheaper than Europe to visit.
Well... that's rather Ingenious.
Ukkonen's algorithm for linear time suffix tree construction. Knuth called it 'the algorithm of 1973'.
Hyperloop utilizes an evacuated vacuum chamber. It's different than a pneumatic tube concept.
The "fuck laws and regulations market", which in other countries we call the "black market".
NET Application Frameworks
You're being ironic, but of course it does work well in China. It is an authoritarian country (not the STEM minister's fault) but it's doing remarkably well in almost every other respect.
Very vague article, barely describes the steps.

Didn't give up on my dream though!

(geez, some don't get jokes)
> you don't have to be afraid an OS update will make your laptop unbootable.

That's not true. Apple's yearly OS upgrades can and do brick machines. At least with Ubuntu, I'd stand a good chance of diagnosing and fixing the issue.

Also, we are just talking about Ubuntu here and not all Linux distributions. For example, NixOS is a Linux with an entirely different method of managing upgrades.
Titan XP is the maximum single chip performance you can buy right now. $1200 is well worth it if ML is part of your career. The time saved will pay for it.
> What do you mean by anti-serotonin agent?

https://en.wikipedia.org/wiki/Ritanserin

I don't have any experience with LSD or other such substances.
I saw your last submission ( https://medium.com/@yonatanzunger/trial-balloon-for-a-coup-e... ) and thought it was quite interesting (being from a South American country, that m.o. is quite standard).

My guess, following CaliforniaKarl, is that a some users are really intent on flagging everything anti-Trump, and others want to flag everything that is not in their own bubble, which is why every politics post gets banned here.

A shame, as I would have liked to see the perspective of HN users on this topic (and not just the perspective of the 3 users required to flag a post)
This can also be used to determine the period of Linear Congruential PRNGs, i.e those in form of

X(n+1) = (A * X(n) + B) mod C

which happens to be what many stdlib versions of rand() are.

https://en.wikipedia.org/wiki/Linear_congruential_generator
InterNIC – The Internet's Network Information Center
My wife's Mac has had numerous issues with updates and upgrades and third party software. In comparison, my NixOS machines update flawlessly, as expected from a stateless OS. But that's also just an anecdote :)
This algorithm is popularly known as "Floyd's tortoise and the hare algorithm".
SWIM is in no way an alternative to Raft, and vice-versa. SWIM is a membership algorithm, Raft is a consensus algorithm. They are often used together. (a SWIM alternative is plain Gossip and a Raft alternative is Paxos)
When I saw the name I thought it was about "recalling" as in a product recall, i.e. reverting.
Apple Removes Tool to Check If an iPhone or iPad Is Activation Locked
Yo! Beautiful site Sir. Well done. May its success grow and grow for ya!
...so we have to face real issues?? No thank you. /s
I find most of the 'tedious, mechanical' refactoring tasks are mostly limited by the speed of getting the curser in the correct locations, not in typing out the changes.
correcting does happen at the tRNA stage and it's not as trivial as one might think[0], but the technology to incorporate unnatural amino acids using reengineered stop codons has been around for a while and presumably it will work with X and Y. Note that Romesburg (author of the DNA paper) was a postdoc in the Schultz lab, where he was originally working on this DNA stuff -- I was across the street > 10 years ago when they first got the DNA stuff to work in vitro. He got his own lab across the street and continued on the DNA stuff (but also other things).

e coli:
http://www.nature.com/nmeth/journal/v3/n4/full/nmeth864.html

yeast:
http://link.springer.com/protocol/10.1007%2F978-1-61779-331-...

mammalian cells (very very very very very hard):
http://www.nature.com/nmeth/journal/v4/n3/full/nmeth1016.htm...

[0] the trick is to steal a tRNA from an archaeon; scuttlebutt is that the postdoc on the paper stole the idea from the lab across the hall, which was actually working on that archaeon.
Do you have a source for that?
I know source tarballs are available at https://vivaldi.com/source/ but I was under the impression that these consist only of the open source parts from upstream (Chromium).

Have you or someone looked through them to confirm they contain all of Vivaldi? Do they state this somewhere? Can you compile Vivaldi from them?

I'm not that concerned with not being able to distribute modified versions (freedom 3) since I am unlikely to have the time to contribute quality code unlike Benjamin above ( https://news.ycombinator.com/item?id=13514415#13517798 )

But I do want to be able to compile it myself and tweak & hack it as I like (freedom 1). (We already have freedom 0 and 2).

Of course I would prefer to have freedom 3 too, so that in case I have the time to do more than hacks I could actually contribute.
> IMHO, the barrier isn't so much the tools, but a clashing of paradigms.

I guess another issue is that most EE guys are happily using GUI tools and don't have any ideological problem with commercial tooling, as what matters is the final result.
Corn was traditionally treated with lime to make it more nutritious:

Nixtamalized maize has several benefits over
unprocessed grain: it is more easily ground; its
nutritional value is increased; flavor and aroma
are improved; and mycotoxins are reduced. Lime
and ash are highly alkaline: the alkalinity helps
the dissolution of hemicellulose, the major
glue-like component of the maize cell walls,

- https://en.wikipedia.org/wiki/Nixtamalization

Modern commercial corn tortillas are also treated with lime.
By "specific amendment" he should be saying "throw it out". This policy is misguided and evil from the ground up. If this program had been in place twenty years the number of terrorist attacks it would have prevented is zero.
Book Review - Apollo in the Age of Aquarius
1. Karatsuba algorithm for fast multiplication.
2. Heap's algorithm for generating permutations.

mostly because they clearly demo the power of human brain.
I've taken a lot of shitty interviews. I have also interviewed many devs.

Testing a candidate in one hour is really hard.

CV's can be very deceiving. What I look for is folks who are good coders and good communicators. I don't care about culture fit. Our team is diverse from 50 year Olds, 19 year Olds, males females, black, white, brown etc.

Having a github profile with interesting projects is a boon. Even better if you've contributed to some meaningful open-source projects. This is great because it gives lots of data. The issues you file, the commits, comments and code give good insights about you. Much more than a one page CV.

I use the same question on every candidate and evaluate them.

I allow my candidates to use google/Bing, chrome console, whatever resources they would usually use in day to day work.

I look for understanding of basic data structures like maps, sets and techniques like recursion. I also give a ton of hints to guide in the right path. I can only help though if the the candidate wants help. Some candidates really don't get the hints even after multiple repeats.

Some candidates just dive into code and then get stuck. They confuse them selves.

The best candidates are the ones who ask lots of clarifications at the start, they break down the problem into little pieces without writing a single line of code. They emulate a computer and trace the steps in an abstract manner. They think like "to solve Z, I need A then do B and C and D." They then slowly write code for the little steps.

I love candidates who can give me a deep dive into a subject they are an expert on. I get to learn a ton on random things. Also gives insight on what makes them tick.

Don't give up. Please keep on trying. Feel free to PM me for any help. I really want you to succeed.
That's Marissa Mayer for you. [0]

[0] http://www.recode.net/2016/7/7/12116296/marissa-mayer-deal-m...
Here's a visual representation of it:

https://visualgo.net/cyclefinding

Really cool!
I keep trying to go back to Firefox but it's so slow and janky compared to chrome (even with electrolysis enabled) I switch back within a day. Will probably see if there are any good chromium builds out there though.
HTML has always been an open standard. Every part has been open. Just by reading the spec, you could implement a fully functional web-browser. There were no secrets bits or black boxes.

So people went ahead did just that. They made new and exciting web-browsers, with new and novel features, on lots and lots of platforms. And that's why the web was a success: It was open to use by people. It was open for new clients. Nothing was locked down.

With DRM in the HTML spec comes a big, black box: You can no longer implement a fully compliant web browser from the spec alone. You'll need closed-source blobs from DRM vendors, if they are willing to provide them to you, and if they bother about compatibility with your browser, your OS, not to mention your HW architecture.

The web used to be 100% open and 100% cross-platform. The single move of adding DRM instead makes it a platform which now will only be 100% "compliant" in browsers blessed by DRM vendors, on OSes blessed by DRM vendors, on HW architectures which the DRM-vendors has bothered to implement DRM for.

It's a complete turn-around. A 100% FOSS web-browser can no longer be made.

It basically has put the 3 top DRM-vendors (Apple, Google, MS) in 100% control of which people, and on which operating systems, can get to have a full web experience.

I guess I don't need to argue why this is bad. You can take it from here, right?
We rented a 2-person "private office" at a local coworking space in Seattle. Unfortunately we only lasted about a month before giving up and returning to our home office. The problem was, even though they called them "private offices", each office was only separated by a thin layer of glass which did not block any sound, and consequently you ended up hearing every conversation in every office adjacent to yours. This made it impossible to get any work done, especially since some of our neighbors happened to be on the phone all day as part of their work.
Let me know what you come up with!
Saying "throw it out" isn't productive. Trump won't back down because that means admitting a loss. You get to, in the short term, choose between a substantial win (finding a better middle ground) and a feel-good victory (saying "screw you" and living with this policy).
>which are stealing the entire US economy out from under us.

How so?

The only stealing going on is that targeted at the wealthy. High taxes and innumerable regulations are an atrocity. Inflation is even more atrocious.

However, here's what Keynesian economics proponents never get; even though you try to rob the rich by currency devaluation, you end up doing quite the opposite and that is actually hurt the poor who are the worst affected by inflation all while saying that in the end, we're all dead anyway.
Thanks. Didn't see it before submitting.

Mods: Feel free to mark mine a dupe.
Your advice is "drink heavily"? Is this a kind of joke?
Thank you for the encouragement
Google, unlike "everyone else", has the necessary power, market share and resources to make Web a better place (and still make tons of cash), but they chose to become just another "evil" big corp, so yes, in my book, they are to be blamed.
If that's his angle, rather than helping an ignoble command become more implementable (and directly playing into a door-in-the-face strategy), I'd love to see some suggested amendments that make it more vulnerable to legal attack.
> But they can.

But they shouldn't have to.

> not complain that somebody else isn't doing what you want.

No, you're saying that other people are wasting your time by not learning effective ways to communicate. They shouldn't expect you to do anything you've expressed no interest in doing.

> Expecting things to stay the way they are isn't compatible with economic growth

Your points are incoherent and make no sense. Economic growth was huge in the years after WWII, and remained stable for a long time without massive changes. And then you segue into cultural change from economic growth? Give me a break.

If you are an immigrant, you're making a change in your environment because you didn't like the way things were in the place you were moving from. Not learning the language or the customs in the place you're moving to is expecting things to stay the way they are far more than people who stay put in one place.

Basically, if you move, you probably have a good reason for moving. Don't try to transplant the way things were in the place you were to the place you're moving to.
> NYS trial lawyers are doing a good job holding Uber hostage

Citation?
Can we somehow strengthen the TCP checksum? Asking all application-layer protocols to implement something that the lower layer is supposed to give for free seems unwise in the long run.
Pycycle: Find and fix circular (cyclic) imports in python projects
The internet still sucks in 2017. I still can't make a 3-way video call between people in 3 countries without having to say "Can you hear me" every 5 minutes and then having to repeat stuff all the time.

Doubly forget having a productive meeting if one of those people is on Comcast, has a crappy Wi-Fi router, is in China, can't figure out how to get their microphone to work, or has babies yelling in the background.

I'm all for telecommuting as a concept but we aren't there yet.
क्याआप भी मानते हैं ये अंधविश्वास? II How to Learn Astrology Jyotish Vastu Tips
Hey guys, feedback is welcome.

Code with circular imports in python does not work. (ImportError: Cannot import name X) I have come across this problem several times, and depending on the project size it becomes problematic to identify where exactly the problem is. This tool shows you the chain of the imports that are causing the problem, after that is up to developer to fix it e.g. restructure the imports or move the imports into the function call.
Came to say this. Vimperator cannot operate within constrained add-on sandboxes. Chromium already demonstrates how it works -- you get your vi keys on the page but as soon as you open a new tab and start entering your URL, nothing familiar works as Chromium takes ownership for the new tab.

I dabbled with DWB a few years back. It shows a lot of promise but it wasn't worth the hassle back then. If firefox is sure to go down, then all bets are off.

(Btw, dwb is deemed dying too, on the account of using webkit. uzbl is more maintained but uses webkit as well.)
That castles are best situated near communications routes (water or land) is mentioned, but not quite why. The purpose of castles was primarily interdiction of supplies. Armies could bypass them, true - but then sorties from the castle later would cut their supply line. In a time when disease and pestilence were the greatest enemies of every army, and good roads and convenient navigable rivers rare (before canal locks got to the West), castles were very effective cripplers of enemy armies.
https://en.wikipedia.org/wiki/Extendible_hashing.
> This is a misapplication of the idea of entropy or decay to real-world software problems.

For a mathematical equation, or for a computer program that's written and then never touched again, obviously true -- after all, these things aren't part of physics, how could entropy play a role?

But for a computer program or language that's subject to perpetual revision to meet new needs, entropy's role is self-evident. Microsoft Windows is a classic example -- there are parts of Windows that cry out to be removed and replaced, like the presence of drive letters to name just one, except for the requirements of legacy compatibility.

For a sufficiently long-lived program or language, one that's subjected to major revisions over time, something very much like entropy is present and obvious. And the closer to everyday reality the software is, the more subject to user demands and changes, to that same degree the software's history exhibits something like entropy -- until finally the software's maintainers decide to just abandon the effort and start over. Just as with actual physical systems.
The only winning move is not to play. Interacting with Trump's government, unless necessary for legal reasons, is stupid and makes it harder for everyone else to publicly denounce the current government.
I still don't understand how 4-byte CRCs are sufficient. Can someone explain?
The problem with this reasonable seeming approach is that it accepts the frame.

Trump/Bannon present the following frame: we can combat terrorism by banning refugees from Muslim countries. This claim is factually incorrect, and moreover it is an attempt to set up an "other" group (Muslims) as an enemy. Keep in mind Trumps unapologetic claim on the campaign trail:

Donal J Trump is calling for a
total and complete shutdown
of Muslims entering the United States
-- Donald J Trump, Dec 2015

By proposing "specific ammendments", Musk says the framework as correct, but the details are wrong. In fact, the opposite is the case: the framework is wrong, as well as the details. The entire order should be rescinded, without qualification.

Musk and other SV commentators should know better than this, and not lend their credibility to un-American actions by the administration.
It's written into the standard, so it's hard to change. If you strengthen it, you run the risk of vendors offloading it and getting it wrong some tiny fraction of the time. The lower layer is always offloaded so it's actually the enemy: it's not an end-to-end checksum!
Various dithering algorithms implemented in Go
The TSA are not goons. They are just doing their job. If you have a problem with what they do, talk to their boss or vote for the right person.

Most of the TSA people I know are normal people and have families,kids and stressful job with passengers being aggressive at them for no fault of theirs.
As a full stack dev, I write recursive stuff all the time. It's a very effective technique.

I do agree though? A lot of interview questions are trick questions.
> This claim is factually incorrect

Can you back this statement up with facts?
You've hit with the point you should be thinking while typing. For me I know someone is a good typist not if they're quick, but if they're able to type notes on a conversation they're having while still engaging with the conversation. It's a similar thing to the point when learning to drive that gear shifts go from being a conscious thought to a subconscious reaction to your situation.
The trinkets terms in which you can criticise this is that it's 'imprecise'? That's the best you've got? I have every reason to believe you're a decent and conscientious human being. But just look at the possition this man is putting you in.
Is there a good move here? Update or not?
Show HN: CodeTrace.io – your skills based on your GitHub profile