skysight-inc/HackerNews huggingface dataset:
Original windows interface is pretty usable.

What makes it worse is that they change, regroup and rename things each f-ing year. W7 made it hard to select apps (floating groups in taskbar), explorer introduced dumb libraries, control panel is always a mess, as is /Users/Shared (iirc) thing. Now that w10. I try it and understand that I'm unable to do anything again and again.

Biggest questionable change in macos for 6 years was new ui flavor and maximize button became fullscreen. That said, iTunes also experiments too much.
Moving to either of Concourse or GoCD takes some rethinking about how to use project automation. I've been watching and participating in this process at Pivotal. Once people "get" Concourse, they use it for everything, but for orgs with heavy investment in Jenkins customisation a hard cutover might not make sense.
> The touchpad is really the only thing that I think compares poorly.

Which is why Surface Pro owners often turn to these:
https://www.microsoftstore.com/store/msuk/en_GB/pdp/productI...

> I'm sure I'll be back on a Macbook someday (cause hey, change is fun) but no regrets right now.

After a few years with Surface touch and pen, going back to a Mac is like having a limb removed....
After researching a bit more i might end up getting the T420. Solid keyboard, and with an i5 and a fancy SSD it'll be fine for my needs (plus a cd-bay battery, yay!). Blazing even, considering that i'm still on a C2D as my daily driver. Frustratingly my first-gen unibody (2008?) MacBook with Arch Linux just won't die, which would give me an excuse to drop a few hundred on a 2nd-hand Thinkpad.
Yes, it is new.

(Ilya, the Mir guy, is a huge fan, who champions the "betterC" D style. This discussion triggered the rant here.)
Scott Hansleman has a great video where he outlines why paper is better. Quite entertaining
Pivotal is the sponsor of Concourse. It's an open source project in its own right.

Blue Ocean is a definite improvement for Jenkins shops, for some such places it may be a more sensible alternative to switching.

Disclosure: I work for Pivotal.
FWIW 64-bit ARMv8 is clean as well, designed without all the weird baggage that came with the 26->32 legacy ARM architecture. More importantly, ARM had reduced the impedance mismatch with x64, making porting various kinds of software (including system and virt) to ARM64 a relatively trivial affair. IBM seemed to have taken a few cues from that, finally implementing similar MMU and MMU virt support in Power ISA 3.0 (Power9).
Christopher Alexander writing in his preface to Richard P. Gabriel's "Patterns of Software."

> In my life as an architect, I find that the single thing which
inhibits young professionals, new students most severely, is their
acceptance of standards that are too low. If I ask a student whether
her design is as good as Chartres, she often smiles tolerantly at me
as if to say, “Of course not, that isn’t what I am trying to
do. . . . I could never do that.”

> Then, I express my disagreement, and tell her: “That standard must
be our standard. If you are going to be a builder, no other standard
is worthwhile. That is what I expect of myself in my own buildings,
and it is what I expect of my students.” Gradually, I show the
students that they have a right to ask this of themselves, and must
ask this of themselves. Once that level of standard is in their minds,
they will be able to figure out, for themselves, how to do better, how
to make something that is as profound as that.

> Two things emanate from this changed standard. First, the work
becomes more fun. It is deeper, it never gets tiresome or boring,
because one can never really attain this standard. One’s work becomes
a lifelong work, and one keeps trying and trying. So it becomes very
fulfilling, to live in the light of a goal like this. But secondly,
it does change what people are trying to do. It takes away from them
the everyday, lower-level aspiration that is purely technical in
nature, (and which we have come to accept) and replaces it with
something deep, which will make a real difference to all of us that
inhabit the earth.

> I would like, in the spirit of Richard Gabriel’s searching
questions, to ask the same of the software people who read this
book. But at once I run into a problem. For a programmer, what is a
comparable goal? What is the Chartres of programming? What task is at
a high enough level to inspire people writing programs, to reach for
the stars? Can you write a computer program on the same level as
Fermat’s last theorem? Can you write a program which has the enabling
power of Dr. Johnson’s dictionary? Can you write a program which has
the productive power of Watt’s steam engine? Can you write a program
which overcomes the gulf between the technical culture of our
civilization, and which inserts itself into our human life as deeply
as Eliot’s poems of the wasteland or Virginia Woolf’s "The Waves"?
If every law were properly enforced, then this situation would likely change. In the current situation with selective enforcement you're generally okay until someone in power has a problem with you. Then you're fucked. This is worse than enforcing the laws as they are written in the books, imho.
I use OneNote and I'm very happy with it.
I always thought it was a little silly to religiously persecute script-tags at the bottom of an html page for single-use event hooks and listeners and initialization logic. Instead I was told best practices were to split that one-off code out into another file, bundle it up with a bunch of other unrelated garbage, minify it, and link the whole kit and kaboodle in.

Meanwhile, when you need to go edit the logic operating on some element later, you end up grepping through your code base for ids, classnames, element types, whatever, trying to figure out where that bit of code that operates on that element got to, often several directories in the file structure away from the markup.
I guess he's picking the apps that support that - probably web browser via extension, and cli apps which often do that.
Code density used to be a problem at first for RISC, due to a fixed instruction size of 32 bits typically. But most RISC (or VLIW) ISA have solved the problem by introducing some level of variable size instructions encoding. It's Thumb2 for ARM, but there's the equivalent for MIPS and others. XTensa from the start used mixed 16/24/32 bits instructions IIRC.

Now it used to be clunky at first. For example the first generation Thumb required a processor mode switch between 16 bits instructions only and 32 bits only, with a performance penalty in thumb mode. But with Thumb2 there is no mode switch, both kinds can be mixed freely and the compilers are now smart enough that the performance impact is negligible (could be a gain sometimes with reduced I-cache pressure).

For deeply embedded designs, where code size probably matters most, such variable encoding is always supported nowadays with good results, and it's a way to differentiate for more exotic ISA like Cortus or Andes for example. In some specific benchmarks I did the lowest code sizes where from such embedded RISC ISAs, better than x86 for example (YMMV, benchmark your code for best results ;).

I haven't benchmarked the RISC-V optional compact code support, but I would expect it to be competitive with x86. Code size is no longer an intrinsic difference for CISC vs RISC from what I've seen, although there are variations between implementations.

========

Edit: one precision, there's no Thumb mode in ARMv8 64 bits mode. One can run 32 bits code using Thumb on an ARMv8 processor in 32 bits mode, but to use 64 bits mode means not using variable size instructions (Thumb), at least for now. But I see this as just an implementation specific decision from ARM. The high level message stays: it's possible to have good code density with a RISC ISA, and all deeply embedded RISC ISA have some form of variable instruction size (at least 16 and 32 bits).
Egypt has blocked encrypted messaging app Signal
Yeah, I'm frequently surprised I'm able to get anything done on computers at all. (only half kidding)
Exactly. I've found that my development skills leaped to another level when I tried out some functional languages. Since then my code is more readable, more concise and has less side-effects. Now looking for the next step.
makes me think about enabling workers (or threads in node) to cancel promises from other workers or threads (serialization?)
I've tried the surface for note taking. It was a lovely experience, especially the pen in OneNote, but nothing beats paper. Lighter, thinner, more flexible, cheap, no lag, doesn't need batteries etc. No vendor lock in.

Surface / pen only had the edge in that you can mark up a doc and send it to someone a lot faster than printing, marking and scanning

However, I'm often faster at writing with a keyboard, and I use onenote in text only mode every day
The Tesla Advantage: 1.3B Miles of Data
I used to have C7 for a year, and it was fast when it worked correctly. Unfortunately, once every month or so the wifi would stop working and needed a restart. We also have a weirdly long apartment that didn't get reception at the far end. This was with 5Ghz and 2.4Ghz bands.

I've since switched to OnHub for 6 months and it's been great. I have yet to restart the router and get pretty decent coverage all around the apartment. Well worth the extra money for completely pain free wifi.

Side note: having gone through a bunch of dual band routers so far I've found most did not allow 5Ghz and 2.4Ghz bands to coexist as the same SSID reliably. If I did, my MacBook would constantly get 'locked' to 2.4Ghz with lower bandwidth, since it had better coverage. The OnHub seems to handle this really well and I have not had any issues at all.
Whoa... GoCD is a major superset of what Jenkins (or anyone else) provides! Pipelines are first-class constructs - beyond the visual representation and the Value Stream Map. There is full end-to-end audit-ability and traceability, you don't have to resort to any hacks to mix 'n match components.

Do contact the community on the GoCD mailing list to understand what it takes to migrate from Jenkins to GoCD.

Meanwhile, please also check https://build.go.cd/ (user -> view, password -> password) to understand some of what's possible.
Tell HN: Apple sent gift receipt to my son.  Be cautious
Background:

* Wife and I used to have same credit card number

* I still have old number- she has a different one

* CC *may* be connected to the account? Only Apple would know, but it seems like it must be

* Wife and sons share Apple account- phones, itunes

* My Apple account is different

* Everybody has individual email

I purchased some items including an iPad Pro from the Apple store yesterday in Peabody MA.
I walked out with a hardcopy receipt. I did not ask for electronic receipt; I did not give any email address to the salesman.

Youngest son told me yesterday that he got the receipt emailed to him. He's psyched. He thinks he's getting an iPad pro for Christmas. I hope his heart isn't set on it- it's not for him. He's going to be a disappointed young man.

I'm not sure how, I'm not sure why, and I'm not hating on Apple. I'm just sharing a cautionary tale.
I'm a bit confused -- is this a UI for Jenkins, or a different system altogether?
These pipelines do not imply moving away from Sidekiq. Have you tried using the Omnibus package? It contains logic to make sure restarting Sidekiq is automatic. How much memory does GitLab have and how many users?
If I was born in Europe, who should I work for ? Should I move to UK, US, Australia ?
easier maintenance mechanisms

It might cost more to put into orbit than to put up in a plane, but once there, satellites don't tend to need maintenance.
How did you lose data with Apple Notes? I've had conflicted copies before, but I don't think I've ever lost data.
Why would you disable zooming on mobile, if you publish articles that are infographics?
>> It's generally a mistake to make the initial development more pleasant at the expense of long term maintainability;

Me and my friend are working on this game [1]. I have prototyped all the game logic in Common Lisp (using both LW Mobile trial edition and MOCL). We could really quickly iterate the game play and reach a design where the experience will be fun.

But to get it working with 60 FPS, we are writing the game now in Swift. A lot of our game asset pipeline is also in CL and Python. So as per my limited experience, I would prototype the game idea in CL; also use more powerful tools for offline utilities etc but ship the game in whatever is the best toolkit for that platform. In our case, Swift, SceneKit and SpriteKit.

[1] http://www.isongames.com
I also think that speeding laws are good. However I think it would be better if we designed our streets so that drivers don't drive at dangerous speeds. Have frequent speed bumps, narrow lanes, cobblestones, etc on residential streets.
I'm building my entire operating system using GoCD. Once you start to mature in your development practices, you start to realise the need for first class pipelines and more.
It's a different Python thing. You can install it with just `pip install pipelines`.
C.A.R. Hoare: An Axiomatic Basis for Computer Programming [pdf]
I've articulated some of the "bad ideas" that Angular 1 had before - https://news.ycombinator.com/item?id=11846843 but I'm curious to hear which ideas are similarly bad in React.
Yes, my mother doesn't know what DOM is or why there are so many buttons in devtools. ctrl+u -> ctrl+f -> mp3 is much easier to explain and repeat.
That's cool stuff! Keep up the good work.
Surprised no-one's mentioned EOMA68:

https://www.crowdsupply.com/eoma68/micro-desktop

It's an open hardware standard for switching the computer between different interface devices.
Thanks for the praise and enthusiasm - comments like this make all the hard work worthwhile :)
Maybe your son is playing you and he didn't really get an e-receipt from Apple, but he knew that you went to the Apple Store and is giving you a signal that he wants an iPad Pro for Christmas by claiming that he unexpectedly got an iPad Pro e-receipt from Apple.
Language popularity, by growth, job listings, and open source projects
I use Jupyter notebooks and write in markdown.
Paper over the surface. The surface has a noticeable lag when writing and OneNote keeps putting frames around everything, ruining the open feel you'd normally get with freeform writing.

My process is a good notebook and fountain pen for deep thinking, and org mode for planning and research.
I think there are two aspects to arbitrary builds:

1. Periodic jobs (not linked to a pushed commit)

2. Not linked to a git repo

At GitLab we try to have 'infrastructure as code'. We think builds should be under version control to allow for collaboration.

But periodic jobs make a lot of sense and it is discussed in https://gitlab.com/gitlab-org/gitlab-ce/issues/2989
Good story about Cindy Mi transitioning her business to online, and also the teachers in the USA now getting 20+ dollars an hour with remote flex time work. Off topic, but as a computer programmer I have been hired twice in the last ten years by customers in China: I told my friends I was trying to reverse the balance of trade imbalance <grin>. Anyway, even with the time zone differences, it was fun.
What is so special about the anniversary update that I would have to do that though? Colleagues with the exact same hardware did get the update, is it some sinister A/B testing?
Do you think so? Anything other than deferring plant/mine closure running requires investment as well as regulation.

The wise investor knows that what government giveth, government can take away after the next election, and when is that election due? Before or after the break-even date for the investment?
All the best music events straight from the artists' device to your device
Meetings and information I will need to reference: One Note backed up to a network drive. It's got a nice integration with Outlook meetings, lets me start a note with info about time, date, subject of meeting, location of meeting and participants present. I also keep a password-protected file with non critical passwords here, but don't tell anyone.

Day-to-day sketches and TODO's and little note lists: I keep a spiral note book next to my keyboard. I'm a leftie so it's upside down. I use the blue Pilot Drawing pens in various thicknesses. They dry instantly, so no ink smudges. Nice.

In addition to these I keep a day-to-day diary in .txt documents on my computer, I just open them in Sublime text or vim and make a new one every month. I try to just write four or five lines about what I've done every day as well as what I need to do tomorrow.
Not only is that money not going to teachers, but you'd still have to adjust it for the cost of living and availability of social support, for it to be meaningful.
As mentioned, the whole RISC approach came out of the 80s, but it's important to remember that this was at a time when RAM was (briefly) faster than the CPU, so memory bandwidth was largely unused and the CPU instruction execution was the bottleneck. Thus the idea of sacrificing fetch bandwidth to achieve lower cycle times and thus more instruction throughput, along with simplifying the CPU core in the effort to speed up instruction decode/execute to allow raising clock speeds.

Today, memory bandwidth is the bottleneck, caches are essentially mandatory for reasonable performance, and newer implementations of even architectures classically considered RISC, e.g. ARM, do uop-based decoding. Physical limits also put an end to increasing clock speeds, and because of OoO execution and the memory bottleneck (which becomes even more of an issue with multiple cores), it makes more sense for a CPU to consume more complex instructions and decode them internally into "RISC-like" uops for scheduling and execution, even if each one takes a few more cycles.

This is where people usually come in saying that x86 is internally RISC, and that the ISA helps with code density which is otherwise a problem for RISC. Is there any truth to that?

This comparison might be of interest: https://www.extremetech.com/extreme/188396-the-final-isa-sho...

It shows that x86 and ARM are very close, while the MIPS, the "purer RISC", lags behind in terms of efficiency despite having twice as much cache as the next smaller system in the list.

IMHO, as someone who has a long experience working with x86 Asm, I rather like it. I think its predecessor, Z80/8085/8080, is pretty nice too. The 32-bit extension (i386) was quite orthogonal and retained a compact encoding. If there's anything I'd consider "ugly", it'd be what AMD did to it with their 64-bit extensions. From this perspective, all the RISCs look absolutely boring and limited, more so the "cleaner" they are. (ARM is slightly less of a "pure RISC", and that may be one of the reasons why it has remained competitive.)
What was the internal perception of Elop as CEO at the time? And of the push towards Windows Mobile? Did people see the writing on the wall or did everyone see promise?

I still remember seeing the promo videos for the...920 I think it was, and being utterly blown away. The promos were so good that whole communities dedicated themselves to proving that they were fake.
No idea why you're being downvoted, you're completely right [1]. CCTV does nothing to reduce crime, and can lull people into a false sense of security - as the GP illustrates. It perhaps increases convictions. To reduce we'd need Police near enough to react quickly. Visible Police on the beat again would probably have other societal benefits.

But they keep rolling out the security blanket. Someone is making a mint selling CCTV.

It would be better if we stopped letting the terrorists win repeatedly by completely changing our society in response.

[1] https://www.theguardian.com/technology/2011/aug/17/why-cctv-...
In fairness, Jenkins did not have the benefit of hindsight. Plugins were the this-is-how-you-support-extension architectural style of the period (see also Wordpress, Eclipse).

I've been working on a Concourse tutorial video series. One of the points I've made is that plugins are unsafe to compose. They need to know too much about each other to prevent interference.

Concourse instead composes on resources, which all have an identical interface (check, get, put). You can pretty much use any resource with any other resource if they achieve your purpose.

We're still calling Concourse "CI/CD", but folk are now jokingly referring to "Continuous Everything" at Pivotal. Because it really is becoming the first tool for everything. We're running large automatic tooling with small teams, because it's easy to extend and relatively easy to rearrange.

Disclosure: I work for Pivotal, which sponsors Concourse development.
If you look at a language like Java, where most operations produce some amount of garbage, the observation holds true. If you have a function performing some work, then all memory allocated which is not referenced by the return result, is garbage. And the introduction of generational GC with Hotspot back then, did a lot to improve the Java performance. This is no golden bullet though, as when the young generation overruns during a function call, not all memory allocations local to that function call can be collected, and even worse, they might be promoted to older generations, where they are rather costy to get rid of.

Another view on this is, that ideally, you don't perform short lived heap allocations in the first place. Go for example tends to require less heap allocations than Java, and the compiler tries to put them on the stack, if they don't escape the function in which they are allocated. So Go manages to avoid those allocations, which generational GCs are especially good at cleaning up.

The idea of generational GC is still considered by the Go team - they plan to have a special heap for each goroutine. This heap would be collected when the groutine exits. This approach would combine the sound idea of generational GC with a pretty good heuristic for the life time of the young generation.
well done! Programmers should be more involved in politics, and not on government's side, but on people's side. There are many examples what to do about it: transparent voting, list and rank all public sector employees, etc
Reading real physics, not "popular science" articles.
Evernote. My Evernote is the only valuable digital asset I have. Everything else is exchangeable.
We have blue ocean installed on our Jenkins instances and I periodically check when it is suitable for our use.
Currently our promotions to environments etc. use `input` step on the pipeline. This is, for now, the main thing that blocks us from using blue ocean.