skysight-inc/HackerNews huggingface dataset:
Subject: Ten Commandments For C Programmers
Message-ID: <8771@utzoo.UUCP>
Date: Wed, 14-Oct-87 17:35:26 EDT

Subject: The Ten Commandments for C Programmers (Annotated Edition)
Message-ID: <1990Nov4.021618.24681@zoo.toronto.edu>
Date: 4 Nov 90 02:16:18 GMT
This is exactly what we do! This is a walkthrough of connecting a db (these docs are for mysql, but postgres works and is almost identical) via debezium and defining views in materialize: https://materialize.io/docs/demos/business-intelligence/
Yeah but soft engr you can get into a project where you get over the initial hump and can coast, do like 20 hours a week of work. Get paid pretty solid. Work remote and still do a fine job. Plenty of time to concentrate on your own stuff.

All of those other roles you're going to have to have facetime always. Playing politics. Is that worth it? Maybe.
Same, that's what I have been using for GIS work, media production, and some light coding. Only thing I regret is not being able to play Xbox games at 21:9 (unless you know of a way).
> It would have to be a very exotic platform that still uses a pre-ANSI C compiler.

Not "exotic" so much, really. Obviously those days are long behind us now, but for many years the very last refuge of K&R C was the bootstrap compiler for gcc.

By the 90's, for revenue and product differentiation reasons all the big Unix vendors had moved their optimizing toolchains into their "developer" software packages and out of the base system. But for legacy compatibility reasons they still needed a working K&R C compiler in /bin/cc.

So for almost two decades, the only contact working engineers had with pre-ANSI compilers was using them to bootstrap a real compiler (gcc) on their new, fancy, high performance, very mainstream and non-exotic workstations.
The easy solution to all these source-code DMCA problems seems to be self-host your git repo in a sensible country. Why don't projects do that to begin with ? Every week some github drama makes it to the front page. github is not the same as git. If enough people host it elsewhere, maybe somebody in the US will wake up. There isn't any other solution to it.
Because of it's magic.

Debugging it it a nightmare especially when you have to roll up your sleeves and go into Erlang.
Reminds me of https://diablo-evolution.net/index.php

A project of mine right now is to compile as many Diablo websites past and present as I can find. God Bless archive.org!
> .by

Just curious, why they use such a weird domain zone?
Honestly, I really don't know. MathJax has been very janky for some reason. I have tried using KaTeX (https://katex.org) but couldn't get it to work properly and some equations just looked "off".
The biggest feature of C is its ABI stability guarantees. Swift is one of the few languages that has tried to retain that.
I've never gotten in trouble for missing a phishing test, but everywhere I've worked there are real emails that have all the hallmarks of a phishing one. Like, misspellings, weird domains, etc. So I don't think it's reasonable to punish people, nor it is sufficient to raise awareness. The security people don't address the issue of real emails that look fake that condition people to click on similar things, because obviously it's outside of their area of responsibility and control.

Also, what do you do if you have a draconian policy and someone important clicks on one?
how is that a justification to heap on more "required" trust into a system?

Feels like somebody could flesh out this argument in terms of accidental vs necessary complexity, but in terms of how much you need to trust the other party.

Few would accept the argument "This code is already very complex, why do you have a problem with doubling the complexity?" on its own merits, so why is it sensible in terms of trust?
> They lack static type checking, but I find that a thorough test suite catches most type errors anyway.

Maybe ruby is different than python in this regard, but with python I see a lot of “assert isinstance(arg, dict)” in functions which would not be necessary with type checking.

Feeding an unexpected type into a function, and having it carry on as normal, is really scary.
Go is a language that always felt painfully obtuse to me. It always seemed hard to do basic things. To be fair I've only used it begrudgingly and never on my own work. The only thing I ever enjoyed about Go was the fast compilation.
May I humbly recommend that rather than delete your account, that you modify it to have noisy data. This would have a much more positive impact, I think, than a deletion.
I do not have any experience with it. My expectation would be that the IP network quality itself is good (provided by init7), and hopefully the underlying platform is stable and well-provisioned enough.
I loved Computer Modern till I read your post. Now I wanna move to Fourier for good - thanks for that!
Damn, that’s crazy. Thanks for sharing this article.

> Which comes back to my original point - any whistleblower who wants to exit with a clean slate really needs to be uncovering unambiguously and horrendously illegal activity.

The issue here is that nothing will ever be “unambiguous and horrendous illegal” enough regarding NSA behaviors, given that the goal post is always moving.
Thank you. I was scouring the page in a frenzy and couldn't figure out it was tucked away in the Profile URL section.

Managed to get my profile from 38 to "100% complete" in the process during my attempts to wipe out my data.

Christ.
Isn't this a bit of a technology without a spot?

Day to day activities can be proficiently carried out through laptops, while heavy crunching and 24/7 operations must be carried out through heavily cooled rigs.

So, what's the place for a fanless, low powered mini pc?
it can also just indicate that when it was written it also had to compile as C++ for whatever reason.
Yes, I find myself caring a lot, hence the expensive gear :)
Some credit card companies have card generators (Capital one has Eno, Amex has one I believe, Citi calls it Virtual Card Generator etc) but you can also use privacy.com, revolut and I think there's an app called token or something?

I think I pay for everything online with my privacy cards now. It's just easier to keep track of stuff when you get alerts after a company charges a closed card, or tries to charge you more than your card limit that you set up.
..and it works, high sierra, is back!
On one of my Windows work laptops, the restrictions placed on devs are ridiculous, they won't even grant admin rights. Instead they have some bug-ridden software installed that let's you elevate specific apps. You need to request access to those apps, and your request goes through a weeks or even months long process before you get a response. If granted, you need to enter your username and password for each elevation, every single time.

This machine has hyper-v installed, so I created a Windows 10 VM and worked in that fullscreen, permanently.

Gods but I hate working for this mega corp!
I think latency of a network will always lag behind that of local storage.

Even traveling at the speed of light, going around the circumference of the earth takes over 100ms. Obviously not all network requests go around the globe, but the fact that local storage is physically closer to your computer will always be a sizeable advantage.
Maybe, but that's hasn't been my experience. The Erlang monitoring/debugging tools that you get out of the box are pretty good.
When people refer to "typing", it is almost certainly reasonable to assume they are referring to static typing, as implemented by most languages. I don't think this should be confusing.

Specs/contracts are cool but ultimately don't afford the same kind of descriptive and expressive power that a static type system does.

> static types in most languages[2] don't reduce this burden much: there isn't an alternative to thorough testing.

However, there definitely is a burden about how much testing you have to write. I generally don't want to have to test every branch of my program to make sure a string doesn't slip through where an int should be or that variables are initialized and not null, etc.
See also Street Fighting Mathematics

https://ocw.mit.edu/courses/mathematics/18-098-street-fighti...
Yes. Given schedule pressure a dev, in a monolith, can avoid good practices and create a web of dependencies. Eg. To get this feature shipped in time I’m not going to refactor the billing interface to expose new attributes that I need. Instead I’ll just query the DB directly from the user profile controller. Repeat this over a few years and a monolith can be a nightmare.

Whereas shipping as independent services it is harder to cheat because the user profile team doesn’t have access to the billing tables and must go through the billing API.

Of course it is possible for monolith teams to enforce the separation but no team has because it would slow things down in the short term. Then in the long term it’s too complex to unwrap and teams refactor using serverless because that’s what is in style. Of course however nobody is writing about the new problems this approach creates.
Maybedoer: The Maybe Monoid for Go
> I'm a bit confused by this comment. Having used both Ruby and Elixir (more Ruby) both languages have type systems which are quite capable of modeling domains[1]. They lack static type checking, but I find that a thorough test suite catches most type errors anyway.

Most of this is incorrect, both for and against your argument. Elixir has a very incapable and incomplete type system. It's optional but can be checked via `dialyzer` but never confidently and exhaustively checked because `dialyzer` will sometimes plain not work, sometimes be foiled by bad library specs and sometimes fall back to "Everything must be OK because I can't prove this incorrect".

All in all it's not a useful substitute for a real type system used to model things.

Type specs aren't useful for domain modelling but serve mostly as extra documentation more than anything.

Testing is important no matter what language you use (except maybe dependently typed ones, I don't know?). It's not a substitute for a good type system. Even disregarding type-directed property tests with automatically generated test cases, there's a lot of value to be had in tests that actually just test logic, not basic types.
Great work team Krita!

I wish there was a mode conducive to less control and creativity a la ArtRage. I am not a professional digital artist and all the control that digital drawing platforms have encumbers my creative workflow. Any chance we’ll get this in Krita? In ArtRage for example colors interact more like in real life and don’t need to separate objects in layers but just paint over the way layers naturally happen.
An interesting read is Chris Wellons (aka null program) prospecting for hash functions: https://nullprogram.com/blog/2018/07/31/

HN discussion: https://news.ycombinator.com/item?id=17659672
CompLearn: Apply Compression to Discover Patterns
Email them and say you want to cancel and state that you're deaf so you can't do it over the phone. They have to oblige because of the Americans with Disabilities Act.
I wish more programmers obeyed #7.
I think we need to consider that case when/if it happens. For the foreseeable future there needs to be a responsible driver present.

To go contrary to this is to invite outright bans of the tech.
Not bad, I like that the author stuck with plain C instead of sse/aes.

Looks like two interleaved 128-bit hashes, don't see any cross-half mixing. Code style needs a bit of cleanup, the sindex stuff obscures the algorithm a bit.

-Austin, SMHasher/Murmur author
A better alt+tab switcher would be great! Why isn't that a thing? I'm imagining something where you could use alt+f1, alt+f2, alt+f3, etc. to switch to specific windows rather than just rotating between everything.
All of the things you listed are why I work in embedded systems / IoT rather than web stuff.

"Tech" isn't fun anymore but actual technology is still fun.
Coding Became Fun Again
You can (implicitly) convert it to another pointer type, e.g.

int *buf = malloc(sizeof(*buf));

(It's noteworthy that while there's an implicit conversion above, there's no such thing as an implicit cast.)
This improves the speed achieved with a single chip, not the actual maximum speed possible with fiber. We already have links that can go faster than this, this invention will likely just make those high speed links cheaper / more compact / easier to manufacture.
Interesting license choice.

I've found out through reading about it that my country is not party to the famous Berne Convention.
On a side-note, I made a thing a few years back that does academic papers with CSS, with examples of ACM and IEEE format:

https://thomaspark.co/2015/01/pubcss-formatting-academic-pub...

https://thomaspark.co/projects/pubcss/demo/acm-sig-sample-we...
If you’re on macOS https://contexts.co/
I went to Nevada a few weeks ago from the Bay Area and bought a very clean car at about 60% of what I would have paid for a similar Craigslist listing here in the Bay Area. If you are willing to travel a bit the deals are out there to be had.
Give it time, an EU citizen who applied will eventually make GDPR complaint. At which point, it's game over.
The most brutal phishing I've seen an enterprise use:
"[SPOT BONUS] Your hard work and dedicated efforts are being rewarded!"
I’m not in my computer now but I’ll look for a link..
Type systems are really a set of comprehensive tests you don't have to write yourself that cover a subset of the things you need to test for.

Static languages fell out of favour last time round the dynamic/static merry-go-round because the typing started to get in the way. You ended up writing more type boilerplate than actual code - and not breaking your methods/functions down into smaller functions to avoid having to write out even more type boilerplate.

I often wonder whether type annotations that allow a processor to generate tests that can integrate into your test suite would be a useful thing to have. Sort of like a C preprocessor.

Then you could add ML type headers to Elixir functions and get a set of ExUnit tests back.
We do this a lot where I work and it’s fun.

There’s a button in the email client for “report phishing link” so I’m always on the lookout.

If you report a test evil message you get immediate feedback that you passed the test.

If you report a real one the security team immediately looks at it and let’s you know if it’s legitimate or not.

I think it’s a good system.
It's the same dogmatic fervor seen in defense of this or that language, this or that pattern, this or that library. I'm sure most of the detractors have spent a long time learning their favorite cup of tea. Serverless models are like demanding they switch to espresso.
Same, except instead of falling in love with Computer Modern, I went "oh hey, XeLaTeX lets me use fonts in a sane way" and started typesetting with modern OpenType fonts instead. So I'd argue there's at least a good chunk of Stockholm syndrome there.
I used to think the same way, give frontend & backend their own repos and we will talk in a meeting about some rest api, works fine for most, but if you want to grow ur proto anus into an intestinal track that safely processes nutrients and uses the same pipe as the airways then it matters what everybody else is doing.
NULL is not the zero page... well at least in the C machine. NULL is NULL. But then again, it does work on systems where it matters(e.g. address 0 is valid and needed)
Ask HN: Who Regrets Choosing Clojure?
The opinion about Clojure seems to be very polarizing. Some devs. refuse to write any other language, and some avoid it like plague.

The community also has a cult like appeal.

I've been writing Clojure for a long time, and don't consider changing sides. But I know a few people who moved on (to Haskell, OCaml etc).

Did you ever regret using Clojure?

[Ask HN inspired by : https://news.ycombinator.com/item?id=23283675]
I upgraded my 2015 MBP 13" to Catalina and happily continue to Mac stint since 2006.
My work from home has been screen share and audio, not video. I'm really glad there isn't video. I don't know what I would get out of VR vs screen sharing.
The interesting dynamics don't happen when you're outsourcing for the cheapest labor, just for cost savings

But when every job can be remote, suddenly, a company in the middle of nowhere can get access to great technical leaders.

One of the jobs of a great technical leader, is to make the work simpler for the rest of the team. And now the company returns on being able to hire lesser skilled employees becomes greater.

I'm sure there are other places to be affected by such changes and second-order effects, so i wonder: where will the opportunities lie in a remote-first world ?
The Evolution of Blizzard's Action RPG Diablo
Beyond Human Centered Design: Is Planet Centric Design the Next Thing?
4. If a DMCA counter-claim is made, rather than provide the contact information to the claimant, the hosting provider shall retain the information and provide it directly to a court only if a lawsuit is actually brought.
Cost of swapping the amplifiers, not just the end-points, makes sense as an issue. Thanks!

As for it being “only more compact” not a capacity increase, for a comparable single coherent optical fiber line, are existing fibers filled to capacity due to the limits of tech, economies, physics, etc. - if physics, then I assume all fibers are at capacity, right?
Whelp, Casio has officially made its way onto my list of brands to never buy.
I agree that it should be just as easy to suspend your account as it was to sign up, but irretrievable deletion should be harder.

Companies ideally want to stop fraud at both ends, but I would be more upset if, for example, my Airbnb account were fraudulently deleted than if someone fraudulently made one in my name.

Granted, deletion requires access to the account in question, so maybe that's enough of a hurdle already? In that sense it's already harder to delete than create.
Yes, exactly! Or just a saner way of sorting the tab order would be nice. I'll look and see if there's one for Linux, there must be something...
Whic is extremely stupid reason.
The main goal was to make the build processes as easy as possible for you.

The new build all program will use:

https://github.com/neomjs/neo/blob/dev/buildScripts/webpack/...

https://github.com/neomjs/neo/blob/dev/buildScripts/webpack/...

https://github.com/neomjs/neo/blob/dev/buildScripts/webpack/...

https://github.com/neomjs/neo/blob/dev/buildScripts/webpack/...

and pass command line options or inputs from the inquirer interface.

The sub-programs do support command line options or provide a visual interface as well.

Under the hood this is triggering a big amount of webpack based tasks.

The package.json now got a lot smaller & more intuitive.

As mentioned before, the main thread addons are in place now as well, so it got very easy to connect the webworkers driven UI framework neo.mjs to other libs or frameworks.

https://medium.com/@tobiasuhlig/using-js-libraries-inside-a-...
It is not particularly hard to do a "hero" experiment like this. Shannon limits to fiber transmission have pretty much been reached experimentally a long time ago. Muxing several wavelengths together is also of course the backbone of fiber optics transmission since its very origin. The current buzz in the field is to use micro-combs like they did as opposed to an array of lasers to provide the multiple wavelengths - but it still comes with its particular set of challenges to make it practical. The micro-comb provides the other wavelengths from a single source through a nonlinear process.

My understanding from just looking quickly at the paper is that they don't modulate all the wavelengths independently, meaning that they duplicate the info they send several times to reach that high terabit rate. The laser source is only one part of a transceiver, and once you have 400+ independent modulators/receivers, the laser source becomes a much smaller concern when it comes to make it practical. A conventional laser source can be made very compact too (in a semiconductor platform) and integrated with the rest of the transceiver on the same chip. This is still where the industry is putting its efforts. These micro-combs come with some disadvantages too, relating to stability, low SNR, and uneven power among the wavelengths (that then need to be equalized).
Thank you! That looks very nice, unfortunately I'm on Linux, but something like that is bound to exist.
The heavier version looks better, but this involves messing with Metafont, which generates bitmaps. (And sadly his sample PDF links have died.)

I don't know of a way to heavier outline fonts. I believe the commonly used versions aren't in fact derived smoothly from Metafont, but either fitted to the bitmaps, or drawn by hand over them. That would have been a good time to correct this sad mistake.
Maybe have a look at XeLaTeX (the unicode-by-default LaTeX), which lets you just use any modern font you have installed, using normal syntax.
> If you combine the rule of 72 with the powers of two, then you can quickly find out how long it will take for a quantity to increase by several orders of magnitudes.

This seems to me like good but dangerous advice. I'm all for using back-of-the-envelope estimations as "small angle approximations" where they're not far off, but, in general, iterating the lossy approximation to get a large-scale answer is the wrong thing to do. It works well here, but only because we're dealing with logarithms, which genuinely do convert multiplication to addition, and not mentioning this point seems to tempt one to use it in situations where it's not applicable.
On Windows, you can effectively use Win+1-9 for that by pinning the applications to the taskbar. I use that all the time.
The EU gave us Spotify, SoundCloud, Minecraft, and Angry Birds. There's plenty of EU software companies you've heard of.

It's true that most brand name consumer software is from (companies headquartered in) America right now, though all of the major companies also have dozens of offices in Europe. (Chrome's V8 was famously written in Denmark, before Google even had an office in that country.) Are you suggesting this could be a response to American companies hiring people in EU countries, but avoiding paying their share of corporate taxes there? That's possible, but it doesn't sound to me like that's the reason.

I think it's at least as likely they're hedging against the different countries in the EU each developing their own (incompatible) software and playing against each other. In politics and business, America tends towards "market will solve all", while the EU tends towards "there's dozens of us so we need to cooperate to get anything done".

Maybe they looked at America and saw it as a cautionary tale. California has a massively disproportionate power over everything related to computers today. Europe has a bit of history with one member state trying to exert a disproportionate power over the rest.
Very few employees in the US have a contract that meaningfully binds the employer to anything. What contract that exists can usually be terminated or modified at anytime.
Bleary eyed me thought nix sounded well defined enough to make searching the input space more tractable.
From what I was able to see on YouTube and read in the repository's clone, the author of the original repository did not use the calculator's electronics or software at all. They only slightly modified its hardware by removing the solar panel and then installed some completely independent electronics in there.

Yet, REACT (also known as the Anti-Counterfeiting Network), which represents Casio, claims that:

> The code the repository contains is proprietary and not to be publicly published. The hosted content is a direct, literal copy of our client’s work.

I would be interested to know which of their products uses WiFi and connects to a Firebase database.
Israeli Attack on the Mavi Marmara (Gaza Freedom Flotilla) Live Online