skysight-inc/HackerNews huggingface dataset:
You're absolutely correct. I had the opposite problem to the article author: in high school, my handwriting was neater than it needed to be, but too slow. So I made a conscious effort to mimic one of my teachers, whose handwriting had a good balance of legibility and quickness. I noticed that she ligatured a lot -- changing the form of one letter so it would flow smoothly into the next -- and so I tried to do the same. It worked: I was soon able to write quite a lot faster; and it stuck: years later, I still write mostly the same way.

A similar change happened in college and graduate school: my science education (see username) required distinguishing a lot of characters most people don't need to distinguish often, like 'ω' and 'w' and 'v', or 'x' and 'X' and 'χ', and between '2' and five different forms of 'z'/'Z' (that one happened during statistical mechanics class...). With just a little bit of conscious effort, I could permanently change how I wrote letters. I didn't even need to explicitly practice: the natural use during note-taking and homework assignments form was plenty sufficient, at least for me.

Your nervous system really can reprogram itself!

A couple semi-related tips for anyone who wants better handwriting:

1. Just go slower. Your handwriting is probably perfectly legible to others if you allow yourself the time to do so.

2. Realize when it does and doesn't matter. A doctor writing a critical prescription by hand (not that they do that these days) is very different from scribbling on a sheet of scratch paper that you'll throw out as soon as you've figured out what you're doing.

3. Try a fountain pen or felt-tip marker. These require zero pressure to write, just contact. That makes things take a lot less effort, so your muscles can work on shaping the letters instead of pushing a pen. Rollerball pens aren't half bad, but fountain pens are still the gold standard for a reason.
No. I think one should organize the code as the code needs to be organized, and the documentation can either follow along (if it describes parts of code contained within the same file) or be placed separately (if it relates to multiple files), where "separately" could still be a package-level JavaDoc, or an external wiki.

I have never tried the Literal Programming, so perhaps I am out of my depth here, but I strongly suspect it only works after one has already mastered the usual ways of programming. That you do not have to structure the code qua code, because you can already do it in your head. But it's hard to imagine what one has never done before.

For example, if you never tried programming the usual way, how do you know when and why to put "Header files to include" in your Literal code? It's only because you can imagine the constructed code, you know where the header files go in the result, so you know where to place them in the Literal version. Otherwise, it would look quite arbitrarily.

I don't know about documentation in Python, but the JavaDoc (and Natural Docs) work like this: You put comments to classes and methods, or packages (and files), along with the code. So you can read them and write them while you are looking at the code. But then you run a "documentation compiler" that extracts the comments and builds a separate HTML website out of them. Here you can browse and read about what the individual classes and methods do. The idea is to make this a part of the continuous integration, so that whenever you update the source code and the related comment, the HTML website also gets updated.

Java supports this out of the box. When you install the Java compiler, you also install the Java documentation compiler. When you read the official documentation to the standard Java classes, those were made using exactly the same tools you are encouraged to use.

I don't know whether Python has something like this. If yes, go ahead and use it. If not, look at Natural Docs -- it is a system to provide this functionality to languages that do not support it out of the box. Just try it: document a part of your existing project, compile the docs, and see whether you can imagine any value in reading that.
In tech, there’s also lots of outside of work professional opportunities, too. Obtaining certifications helped me feel more secure in a previous, awful work experience. I also did a number of home projects that I could add to the resume.

Also, I’d tell anyone in a tough work environment to ensure they're keeping their mental and physical health up. I needed PT from all the muscle strains the one place gave me, for instance.

I also drank roasted cacao daily for a good theobromine and caffeine kick! It really did help me feel like “it’ll all be ok” during the worst of it.
As one who simply tinkers with Linux but is not a guru, I found this article quite inspiring! I had no idea just how deep that sort of rabbit hole can go. I feel inspired to try to delve behind the scenes for myself... The author has made my day :-)
Tell that to my AMD Radeon HD 6330M, released in 2010, 8 years ago.

The open source driver still doesn't provide feature parity with the proprietary one that Ubuntu LTS dropped support for.

https://www.omgubuntu.co.uk/2016/03/ubuntu-drops-amd-catalys...

Namely hardware video decoding and OpenGL version.
iCloud Bypass Pro – Unlock Your iPhone Instantly
that is what I said. Private tabs ..> safari ..> respectively.
Was the Lufthansa Logo Designed by a Ukrainian Artist? (2015)
Different languages have different types of behaviour under the "static typing" umbrella.

Typescript has chosen to interop nicely with JS, and they took the tradeoff that if you are passed an object (e.g. from an Ajax request) and you assert that it's a Duck, TS will assume that is correct during static typing. Of course this might be wrong at runtime, you may get returned {'foo':1} instead of {'foo':'bar'} and your object.foo.length now returns undefined.

Static typing in general (in other languages) does persist into the lifetime of the application. By persist, I mean the guarantees persist, even if the types are thrown away. Haskell for example throws away the types at runtime (you can't reflect on them) but because it's so strict, you can be sure that X: String->String does indeed return a string. This you cannot be 100% sure of in Typescript.

So why is Typescript useful? Well if you write an entire app in TS (which I am doing now) then all the code you write ... which is the new non-battle-tested code ... is now type checked against itself. Also well written libraries using TS will be well type checked against. People doing stuff like casting to <any> etc. could break things for you. But in general you get Pareto's rule applied and because most of your code is type checked (and it only isn't when getting stuff from the server or using a dodgy library that has exported an incorrect .d.ts or something), then you get almost 100% of the benefit.

Basically am I getting errors due to incorrect types at runtime in Haskell? Never. Am I getting them in Typescript? Not yet but it's possible, maybe 0.1% chance?
It depends on what you consider innovation. There are the big leaps, certainly (combustion engine, electric engine), but also the small increments: seat belts, automatic gears, runflat tyres, ABS, traction control, speed control... And these smaller innovations contribute to people picking one model or brand instead of another. Innovation also means producing the same thing at a lower cost (different process, better equipment, automation...). All this is competition. The Toyota quality management process was a revolution that led to japanese car companies becoming world leaders, with the same cars that everybody else were selling. Autonomous driving may be doing the same for some brands now.
C++≠C, and making the jump isn't always feasible.
Noooice. Love jungle and dnb too. Used to produce on reason.
Earlier this summer a man from Saskatoon bought a $800 canoe with a briefcase full of Canadian Tire money.
https://www.ctvnews.ca/canada/saskatoon-man-buys-canoe-with-...

These days I think they are trying to get people to switch to a credit card rewards type of system. But if you pay with cash you can still get Canadian Tire money.
Why Software Is Not Like Soybeans
From Google:

The Resource Description Framework (RDF) is a family of World Wide Web Consortium (W3C) specifications originally designed as a metadata data model.
Thanks for the memory. Your comment reminded me about the suggestion "You must disconnect your machine from the Internet before/during the installation of patches." from 2000s computer magazines.
I get 10+ hours of battery life out of mine, depending on workload. I run Debian, without any special tuning, beyond powertop and running an up-to-date kernel.
Supermanuverable <10m autonomous aircraft that have destroyed modern fighters already exist. They're called missiles.

Modern fighter aircraft are expensive because they are relatively large and crammed with tones of expensive avionics and sensors. Increasingly, the quality of your sensors and your ability to evade detection are more and more important while maneuverability is less important because of said missiles. Better sensors are larger and require more power to operate necessitating a larger aircraft. Also, the number of Gs an aircraft can pull is limited by both human survivability and airframe strength. This means as the size of the aircraft increases the max number of Gs it can pull will decrease. Missiles can pull 50 Gs. Even if you remove the human, no aircraft large enough to carry the necessary sensors, fuel, and weapons to be combat effective will reach even 1/3 of that because it would rip the wings off.
strncpy_s performs a lot of checks that might not be useful, though.
Lands End used to be pretty much a go to for me. After all the Sears and private equity stuff that went on I became increasingly disillusioned with their quality. I still get clothing from them now and then but quality generally has gone downhill.
The way I think of it, the knowledge should be in the code. Including the tests.

To me that is one of the major goals of any code writing. Some new hire I've never met should have a fair chance of working with this in 6 months.
This is also how I understand the situation.

Btw I think you've got a typo:

> for the euro to work, Germany must save more
Do people sometimes come up with project names that are so good, they are compelled to implement the project?
I delved into this exact area in the last startup I was at. I worked pretty extensively with Kuka 6 axis industrial robots and spent a lot of time programming them as well as integrating them with our custom hardware. Totally agree that there is a big opportunity for a unified software layer on top of all this hardware.

The system I ended up building allowed users to monitor the robot from the cloud, including telemetry such as end effector sensors and axis positions, as well as uptime. It also allowed steaming tool paths from the web platform to the robots directly with appropriate safety measures such as manual intervention required to start it. Would love to generalise this sort of thing and create a turnkey solution that allowed people to focus on solving their actual robotics problems, not spend all their time glueing together disparate components.
> Comments: I find comments, outside of docstrings, a smell.

Neither function/type/whatever names, nor unit tests document architecture, concurrent behaviour, locking, ... to a significant degree. For simpler stuff that's fine, but it doesn't take that complicated a problem that some interdependencies aren't obvious anymore.

Even in the simpler cases that then often leads to APIs/Architecture that appears "fractured". Because the intent from the time the code was originally written isn't visible enough, subsequent work is designed differently, rebuilds parts of infrastructure, ... That leads to harder to maintain code over time.

IME there's a significant difference in how much effort is worthwhile to put into comments and understandable code depending on the expected lifetime, staff turnover, total size of a project.
Do you, or does anyone you know, regularly use unicode input like that in your day to day programming? It sounds like you might.

I'm super interested in symbols as a way of increasing expressivity, but the ctrl+cmd+space route just seems like it'd be too much overhead for the tradeoff to be worth it.

I'd love to hear what people who have gotten over the learning curve think about it as a language feature.
Ecommerce Evolved: Book Review and Summary
A few years ago, I bought a hand made leather wallet from a leatherworker in Germany. It has a beautiful patina now and is in perfect shape. Quality matters.
This is simply a re-statement of the old myth that when in mortal danger an atheist will also pray. It's not backed up by anything, but then again - nothing else in the article is either

True enough. The article, like Solzhenitsyn's own thinking, is an exercise in excluding the obvious middle ground: what if neither sort of God -- neither the patron of Abraham nor the personage of Stalin -- is the answer?

It's amusing to imagine Solzhenitsyn's corpse propped up in a chair, facing the similarly-seated corpse of Giordano Bruno. The two are arguing vociferously over who had it worse, as if it somehow matters.
I have literally never sent a soldier to attack anyone. I've always voted for the person I thought was least likely to engage in aggressive war. I've participated in antiwar protests while my countrymen were driving around with giant flags on their cars, cheering the destruction of countries that had done us no harm. Nonetheless, my country's government pursues aggression around the world. What should I have done differently to make it so I don't deserve to die?
Yes. I guess the fact C doesn't have advanced features like generics and templates probably have made the problem worse, making it difficult to create a "drop-in" API.
I'm curious, are you still experiencing issues with localhost networking? I'd read that as of build 18945, those issues should mostly be fixed. [1] Or is it that you're hosting applications on Windows and trying to access them from Linux?

[1] https://devblogs.microsoft.com/commandline/whats-new-for-wsl...
Makes things easy for you then. My company, every manager hire decides to change team names. Had a vp who used to be marketing that changed the org name like 4 times in 2 years. Cause name changes fix everything. Essentially we have a few teams / orgs with name of the week.
Interesting. I found the opposite! With a thick point you have no choice but to shape things well and keep loops open, or the lines overlap and you end up with a messy blob.

I do most of my writing giving maths lectures and preparing for them, and I do all my writing digitally (mostly on a Samsung Galaxy Note Pro 12.2, under a document camera in lectures), so I have a record of the improvement in my writing (e.g. the same lecture examples 6-7 times, spaced a few months apart each). I use the two previous semesters/years' versions in preparation, and the improvement is clear and steady. I started with fairly thin lines, comparable to a thick ballpoint, and have ended up settling on fairly thick felt-tipped pen width, like a Sharpie.

When I'm writing for myself I tend to use a thinner pen (and write smaller and more compressed together).
Vietnam ended the draft.
IPA helps if you want to be very clear to the very small proportion of the population familiar with IPA and completely obscure to everyone else; using an existing, common word like “gee” is more clear to most people than IPA would be.
> These vulnerabilities are not in Android 10 but are fixed by Android 10. Which of course means they exist in versions prior to Android 10.

That's not accurate. Android 10 is still in beta, so many of these vulnerabilities (just like many other bugs you'll see in a beta) are likely new to Android 10, and will be fixed before the final release.
Right now I'm working on Z80 assembly language, in support of my ambition to build a simple 8-bit computer from the CPU up.

Other than that, I've spent a lot of time on Abductive Inference this year, since I'm on the hook to do a talk on the subject at All Things Open in October.

I've also been messing with OpenCV a bit lately.

Finally, a lot of low level electronics stuff. Revisiting my hobby of building and experimenting with simple circuits and what-not. As part of that, I want to learn KiCAD eventually, so I can design PCB's. This also supports the 8-bit retro-computing interest. A weekend or two ago I built a simple little circuit on a piece of protoboard with a 555 timer and a couple of potentiometers, which implements an adjustable clock generator which will serve as the clock input for the z80 project (at least the early stages when I very explicitly want things going slow so I can see LED's blink with the naked eye, etc.)
Seconding TypeScript. If you are a js dev looking to pick up something new, just rename a .js file to .ts, open it in vscode, watch the magic. It will, I think, make you a better js dev.
I wish I could upvote twice, this is so true.
It is funny when people forget what money was meant to be; "a store of value".
And yet, here we are with people buying Greece 10Y treasuries yielding 2%. Almost risk-free...
They probably don't want the source code to start resembling a Literate Programming example.
Hi Neil. The attribution is correctly given here: https://martinfowler.com/bliki/TwoHardThings.html

(Hint... it's me.)
> 99% ... are better than average.

I'm thinking there's a flaw in your mathematics...
Indeed. On the desktop, this is also known as a firewall. All apps practically think they have "network permissions", but if they actually try to make a connection, it will either time out or return errors.
It's also most definitely not a Jeff Atwood joke.
> GnuPG is like a media player

sign me up
It really is a great name, I'd feel compelled to write it if I had come up with it.
Just being able to hold people individually responsible for their decisions could be enough. Did you decide that your company should poison a dozen people? You're a criminal and should be charged as such in court.
> I like a bit of humour in my code, and I wanted to name it GodComponent.

No. Just no. Do not ever be funny in code. No one else likes your humor, and it's distracting. (Ignoring the other reasons "GodComponent" is a bad name.)
> and, my favorite, iLTj

"i less than j". Not hard to guess if you know about "LT" in the standard library.
That misses the point entirely, which is to get more parts of people's journeys over onto public transport. That has a substantial value in reducing congestion and allowing higher density growth, allowing expansion of public transport and reduced dependency on these services over time. As a permanent solution feeder routers are always likely to be expensive. But as a means to change user behaviour they can be highly beneficial over time.
Being Mortal by Atul Gawande
but at some point Google decided it should always be allowed

Not at all surprising, if you consider Google's motives; they both want to appear like they care about privacy and give you an illusion of control, but at the same time they are ultimately an ad company who profits from the lack thereof. A lot of the decisions they make about their products make a lot of sense from this perspective.
What operating systems have built in support for firewalling specific applications?
Ironically, for the time being, the British do all of the above.
Invest in stocks, bonds from countries that don't have negative interest rates, etc.

If you keep large amounts of long-term savings in cash you are leaving a lot of money on the table anyway, although apparently a lot of Germans do that. Even in the US, high-yield savings accounts barely outpace inflation.

The purpose of the negative rate is to reduce the chances of an deflationary spiral, which would hurt savers even more than a negative rate because it would tank the economy and cause unemployment. A negative rate is probably better for savers than a recession.
Nice! Could take a turn for the worse when you need something smaller than E. coli though--you'll be wishing you named the Chromecast "tardigrade" when some lightswitch has to be named "herpes."
That use case though, it reads like it only goes too transit not away from transit. So you get a lift to the light rail, get your groceries and get back to the same light rail station and then, ... well it seems you are on you own for getting back to where you started?
About Warren's article. I just returned it back, sorry for the inconvenience :) By the way, you may find basically the same description of the compiler in The Art of Prolog book.
On 3, writing digitally is another way to get zero pressure (can depend on the pen and settings). In my experience, ease of use and control go (best) Wacom tablets > Galaxy Note (also Wacom, better on tablets than phones) > Surface (N-Trig, Surface Pro 3-6, Book) > Apple Pencil (worst).
Is there any research on what proportion of services (ssh, telnet, FTP, WordPress) have to be honey pots or tar pits for it to make a difference?

I've been running honey pots or tar pits for years out of a belief that anyone who can has an ethical duty to do so, to slow down the attacks on those who can't.
He could look at the very long standing collected statistics of the violent incidents he's interested in, and simply look up whether the person or people involved previously flagged by experts in the mental health industry.

But it sounds like he wants to ignore the enormous tomes of existing data. Isn't that a sure-fire way of wasting money and polluting the pond by ignoring the past and then defining variations of select criteria that already exists?
Your Next Home Might Be Appraised by a Robot
You’re comparing Mexican bonds with US T-notes? US 3-month treasuries are the risk-free for the entire world. Every investor and every country in the world (besides maybe North Korea or something) hold them in massive quantities.
That's not necessarily true. If it is on page Javascript tracking, the script could well snoop the password before it is even in transit. This is perhaps still better than a MitM as at least the bank has had some chance to vet the vendor of the tracking script. Still, if the tracking script vendor is compromised, we're back to square one.
Oh perfect! A bike cable car!
Scala and Clojure are a bit of a leap for a Java dev, which may come with some cost. I don't get that feeling with Kotlin - you can kind of slip into it, it's a very easy transition, and then you don't want to go back.

Sure, Java interop will make some code parts look a lot more like Java then like Kotlin, but I can't personally imagine that a team would decide to switch back to Java-only after using Kotlin for a while. Interested to be proven wrong if someone has seen that happen.
That's true, IKEv2 is natively supported. OpenVPN and wireguard aren't, and most of the paid services use OpenVPN right now.
I believe kippo is the ancestor of Cowrie.
> [if] one is not entitled to a non-negative return rate on a bank account [...] how am I supposed to store money?

In a bank account with a negative rate! Storing money for you is then a service. If you have $1000 under your mattress for 10 years and the risk of theft or fire is 1% over those 10 years, then the storage service would be worth $10 to avoid that risk (assuming the risk in the bank is zero which is a simplification).
Potentially pricing. $350/seat (2 seat min) to get source code export.

It's not clear who this product is for. Design and Preview seems to address a different concern than generating a project for devs to maintain.

The app development process isn't shown on the landing page, so I'm guessing it's some sort of drag and drop builder using predefined components and maybe a bit of scripting.
Marc Andreesen – The World is going to see an explosion of countries (2013)