Ruins of forgotten empires: APL Languages (2013) - <AUTHOR> https://scottlocklin.wordpress.com/2013/07/28/ruins-of-forgotten-empires-apl-languages/ <comment><USER2> I used APL professionally for about ten years. I even have a picture with Ken Iverson, the language's inventor, when I was 19. While I still programmed in assembly, Forth and C, I was one of the "APL guys" at work.

The language changes the way you solve problems computationally. It changes your focus away from the mechanics programming to inmerse your mind in the problem domain. It is hard to understand this without working with APL for a year or more.

There's another element here that is often ignored: Notation.

APL uses a unique set of symbols and it is these symbols that give you expressive power not found in text-based approaches. A paper by Ken Iverson himself, titled "Notation as a tool for thought", covers this:

[http://www.eecg.toronto.edu/~jzhu/csc326/readings/iverson.pd...](http://www.eecg.toronto.edu/~jzhu/csc326/readings/iverson.pdf)

The value of notation has been largely forgotten today due to the fact that APL suffered a popularity gap of probably twenty years due to the language being way ahead of technoloy at the time. The language didn't fail. The hardware of the time did.

This, BTW, is the reason I think J is an absolute abomination. Yes, Ken Iverson was behind J. The motivation behind going for ASCII and losing the very symbols that made APL notation so powerful was to attempt to deal with the limitations of computers at the time. For example, on some systems you had to manually reprogram the graphic card's character ROM just to be able to display the symbols.

Iverson sought to make the APL concept more accessible by transliterating to ASCII when creating J. In doing so he utterly destroyed the very notation he understood to be critically valuable as a tool for thought.

For more than one reason it would be wrong to attempt to bring APL back today. The concepts, the approach and a form of notation for the expression of computational concepts could and should come back.

<comment><USER3> There's lots of good reasons for using text for programming. But I've long thought that, as a medium for expression, it's pretty terrible.

I'm reminded of this constructive review of TempleOS [1] and thinking _YES_ I'd like to have some of those code-writing features.

I'm also reminded of Perl, a language that grows multi-character operator glyphs at a rate only slightly slower than teenagers invent emoticons. Imagine if Perl could just be programmed with proper alternative symbol support like APL.

Having proper symbols might also stop the minor endless war of deciding to use "=" as both assignment and evaluation.

1 - [https://news.ycombinator.com/item?id=9681501](https://news.ycombinator.com/item?id=9681501)

</comment></comment><comment> white-flame Much of his thrust seems to boil down to being really offended by the cost of safety of allowing concurrent writes while reads are going on.

When dealing with analysis workloads, his line of thinking can yield fast runtimes and doesn't bring that much of a programmer burden. However, it's killingly complex when it comes to live mutating business databases that need to scale. Even many job-based analysis workloads have a lot of concurrent mutation in trying to efficiently figure out what's been done and what needs to be done next when the actual workflow is not a straight pipeline.

I do agree that 'for' loops should be replaced by broader declarations of what needs to be done, instead of these explicit instructions on how to iterate through the data.

<comment><USER4> Could you expand on what you mean about for loops?

In the functional world, there are all sorts of precise constructs to operate on lists (maps, folds, unfolds, scans, etc.), and many versions of these that support concurrency. That's what I imagine when you say "declarations of what needs to be done".

<comment> white-flame The standard "for" structure is necessarily ordered. Either an index is incremented/decremented, or an iterator object's next() comes in. Since there are side effects that can affect either the iterator or the index, and dependent side effects between loop body runs, obeying a "for" loop means strictly ordered (unless the iterator interface abstracts something else), serialized execution of the loop body.

Even maps, folds, etc are often defined in terms of what order they process data. This is useful for early exit, and mutable state dependency between iterations. But again, this demands serialized, specifically ordered processing of elements.

Lists themselves are ordered structures. Their generalized interface does not assume it's just a bag of items easily thrown around in sub-parts, especially if the linked list nodes are to be modified.

Of course, the above applies to impure functional languages. Purely functional of course has far more freedoms, but even the Lisps and such ultimately demand sequential processing for most of their fundamental list operations.

<comment><USER5> Much of the functional world is concerned with defining structures that are heavily linked to themselves. Tagged data is essentially the norm.

So, it isn't just that maps are defined in terms of car/cdr, it is that the list itself is defined in terms of car/cdr. The "aha" moment is when you can see that an array of items in c can efficiently represent a tree structure where the parent/child relationships are implied, not tagged. The performance gains from this are impressive.

<comment><USER6> Functional languages have arrays.

<comment><USER5> I did not mean to claim that they do not. My claim is that "much of the functional..." So, referring to things like cons lists is easy, though that one is old. Look at the multitude of pointers in any of the purely functional data structures, though. There is a lot of overhead in building up these structures.

Look into the Scala (and clojure?) vector sometime. Literally a 32-ary tree. Makes the algorithm somewhat pleasant to look at, but are we really shocked when something using a simple array can beat it in performance?

Now, it is a perfectly fair and valid point that optimizing development time may be preferred. We are allowed contradictary valid points in situations that are trade off defined.

<comment><USER7> I think that no-one will argue that an imperative, transient data-structure will be faster than a functional, persistent data-structure if you use it imperatively.

If you use persistent data-structures the way they are meant to be used, they can and will be faster than a simple array.

Both have valid use-cases, but they are often distinct.

<comment><USER5> You would be surprised at the arguments you see.

Even the one you are making is... tough. Persistent data-structures are not a sure fire win against mutable versions. Again I find myself refering to the DLX algorithm. The entire point of which is that it is easier and faster to permute through different configurations of a data structure then it is to have all instances instantiated in a persistent fashion.

Does this mean that persistent data structures are without use? Of course not! Again, you may not be optimizing speed of execution. Which is perfectly valid!!

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> I'm just going to leave this here: [http://www- dev.ccs.neu.edu/home/pete/pub/esop-2014.pdf](http://www- dev.ccs.neu.edu/home/pete/pub/esop-2014.pdf)

</comment><comment><USER9> Would be interesting to see a more detailed explanation of how Q compares to Redis at least. The low level bits, performance, RAM usage, usage comparison of the same tasks etc.

<comment><USER10> How detailed do you want to get?

If you're using Python or C or something else to use redis as a server, it's probably just as fast as Q/KDB, and some informal benchmarking supports this:

        redis-server &
        redis-benchmark -t set -n 1000000 -c 1 -P 1000000
        0.00% <= 1368 milliseconds

v.

        q)h:neg hopen`:localhost:1234
        q)\t 1000000 h/"a:69"
        1013

However I don't think this necessarily a good way to build your system, because if you're going to do a million of (read something write) every second, and _then_ do a million of (read store), then you might as well write it in KDB and just make it (read something store) and save yourself 40% on your heating bill.

<comment><USER11> It seems KDB excels at queries, joins, and aggregates on large datasets. I have limited experience with redis, but if that type of code would need to be written in c/python with redis then KDB may have a performance and productivity lift. I would like to see an example like that.

Another benchmark is here: [http://kparc.com/q4/readme.txt](http://kparc.com/q4/readme.txt)

<comment><USER10> Like what?

A program in KDB instead of a program in Python and Redis?

Here's an implementation of a multiuser group chat in KDB:

[https://github.com/srpeck/kchat/](https://github.com/srpeck/kchat/)

and here's one in Python and Redis:

[http://programeveryday.com/post/create-a-simple-chat-room- wi...](http://programeveryday.com/post/create-a-simple-chat-room-with-redis- pubsub/)

</comment></comment></comment></comment><comment> ah- The great thing about K/Q is it's simplicity and minimalism. It's fast because it doesn't do very much and doesn't have layers upon layers of abstractions.

I would love to see a derivate of it with proper async support and more useful error messages.

</comment><comment><USER12> PLaSM is an APL like language for describing building architecture (based on IBM's FL, a predecessor to J).

[http://www.plasm.net/docs/](http://www.plasm.net/docs/)

</comment><comment><USER13> >> " Modern code monkeys don't even recognize mastery; mastery is measured in dollars or number of users, which is a poor substitute for distinguishing between what is good and what is dumb. Lady Gaga made more money than Beethoven, but, like, so what? " Spot On !

<comment><USER14> Hence why valley hipsters jump into things like Go.

[http://cowlark.com/2009-11-15-go/](http://cowlark.com/2009-11-15-go/)

</comment></comment><comment><USER15> OTOH, [http://cs.ecs.baylor.edu/~maurer/SieveE/apl.htm](http://cs.ecs.baylor.edu/~maurer/SieveE/apl.htm)

</comment><comment><USER16> I think he came to the wrong conclusion. We shouldn't be looking at APL or J to see what they did right ( surprisingly little ) we should be focusing on how they failed and making sure we don't fail the same way. Yeah an APL master might be able to crunch numbers much better then the average Java programmer, but in reality I can get more number crunching implemented by spinning up an R based development team then I would ever get done trying to find, train, and pay an APL based team.

<comment><USER17> Your statement validates his statement. Just because R-based development teams are in number, does not make quality, and vice versa: APL or J programmers may be lower in numbers, but you may be getting better quality. The catapult was invented, and then forgotten, and had to be re-invented. In today's age with the internet, and the relatively short span of computer science, I must say I agree that the short-sightedness seems worse. I play with APL/J and I like Julia and Haskell. To me J (APL) are close to the succinctness and expressiveness of mathematical formula, and they work naturally with arrays, no batteries needed.

<comment><USER16> It sounds like you both have this ideal of quality that theoretical quality counts for something, even expressed quality doesn't really matter that much if you can't bring _quantity_ to bear.

</comment></comment></comment><comment><USER18> >Comparing, say, Kx systems Q/KDB (80s technology which still sells for upwards of $100k a CPU, and is worth every penny) to Hive or Reddis is an exercise in high comedy. Q does what Hive does. It does what Reddis does. It does both, several other impressive things modern "big data" types haven't thought of yet, and it does them better, using only a few pages of tight C code, and a few more pages of tight K code.

it is exactly exercise in comedy. Hive and Reddis are free. They do for regular persons and tasks what only $100K/CPU systems of yesterday were doing. It is like comparing high-professional $100K film cameras of yesterday with today's consumer 5-10M cameras. A $100K thing which i would never had access to vs. real cheap/free gigantic expansion of my capabilities. The choice is obvious to me.

<comment><USER19> Banks have moved to linux from paid o/s yet they continue to shell out for KDB (and the dev are not cheap either).

Why did they move a whole o/s platform but not from kdb?

<comment><USER11> I assume to keep licensing current to support legacy code. I would be surprised if much revenue comes from new installs

<comment><USER20> KDB is the tool of choice on new projects. Also, $12.5k a core these days (last I checked).

</comment></comment></comment></comment><comment><USER21> Another person realizing my meme that IT regularly forgets and (when lucky) re-invents the past. Often in an inferior way. K and J were great tools for datamining. Well-implemented, too. Hadoop-style efforts could've saved a lot of time and gained plenty efficiency starting out with such a design. Any suggestions on best way to solve this? A Wikibooks-like, categorized, searchable site of all kinds of solutions to various problems, perhaps?

Fortunately we have nice counter-examples with groups such as FoundationDB doing Hadoop scale with strong consistency. Building on the right, proven principles can get one ahead.

<comment><USER22> What I find slightly disturbing is that people remember history but forget we got to where we are precisely because of it.

64-bit processors and more than 4 gigs of RAM are relatively new things. Mmap is useless for datasets larger than the disk you can attach to the CPU mmapping it or the size of its virtual address space. In 1991 it would be OK to call a couple billion entries "big data" (although we were yet to invent the term) but not anymore.

Having said that, the heat dissipation of instantiating objects from their on- disk representation is probably a relevant part of the refrigeration costs of any data center. We just have unimaginable computing power available and, sometimes, we do things the easy way, not the most efficient one.

<comment><USER21> I agree it's important to consider refrigeration costs. Yet, the rest seems hypothetical given their site says it scales to petabytes across many machines, from clusters to grid computing. Their benchmarks are on a diverse array of machines with some being flash storage arrays and others compute nodes with 16+ cores & 512GB memory. I have a hard time believing this thing is going to choke on most datasets.

Licensing and hardware will probably be the biggest costs here.

<comment><USER22> > I have a hard time believing this thing is going to choke on most datasets.

It won't, but 512GB is nowhere near "big data". In fact, most datasets we see should not be called that. My personal rule of thumb is that nothing that can fit in less than a dozen machines can be called "big data". The whole idea begun when we started manipulating datasets that were so huge that moving the data from where it was stored to where it would be processed was no longer practical.

<comment><USER21> My comment said "petabytes" of data across many machines. The 512GB RAM was one node they tested it on. As in, the 512GB is around how much can be in one node at once rather than what the database can process. If petabytes of OLAP don't count, I'll concede that this database isn't for "big data."

</comment></comment></comment></comment></comment><comment><USER23> Never read the comments.

("Computer science worked better historically in part because humorless totalitarian nincompoopery hadn't been invented yet. People were more concerned with solving actual problems than paying attention to idiots who feel a need to police productive people's language for feminist ideological correctness.

You may now go fuck yourself with a carrot scraper in whatever gender-free orifice you have available. Use a for loop while you're at it. ")

<comment><USER22> There can be hope.

[https://github.com/filipekiss/sanity](https://github.com/filipekiss/sanity)

</comment></comment><comment><USER24> >>Why have multiple threads tripping all over each other when a query is inherently one job?

Because these systems are limited by IO latency, this way the threads respond immediatly when data is available. You dont have the 'stepping' on each other problem unless they are actually running. Further, threads on the same CPU socket, even share resources like memory access, even they can step on each other. You shouldnt be worried about threads and cpu matching if your computation takes 10ms, but data access is 150ms.

<comment> vezzy-fnord Or you can multiplex on a file descriptor to asynchronously handle events? Not sure what exactly you intended to say, or if there's any corner cases in job processing.

</comment></comment><comment><USER25> Someone should tell this guy about JS's Array.map()

<comment><USER26> This is the kind of shallow, dismissive comment we need less of on HN. Please don't post them.

<comment><USER27> This.</comment></comment></comment>


Microsoft announces record earnings on strong cloud growth - <AUTHOR> https://www.microsoft.com/en-us/Investor/earnings/FY-2019-Q2/press-release-webcast <comment><USER2> Down 4% in after hours, on miss on revenue and probably exaggerated valuation.

<comment><USER3> IMO it's because of Windows revenue declining plus Azure "only" growing by 75% YoY instead of the >90% growth that's been the norm. FWIW, Microsoft says the Windows declines are temporary because of chip shortages and will rebound when those are cleared up. We'll see if that's true.</comment></comment>


TELL HN: New service that is 100% NSA secure - <AUTHOR>

After a lot of research I have found that I can make a service that NSA can't do nothing against it and it is 100% secure. The solution is based on a math algorithm http://en.wikipedia.org/wiki/Shamir's_Secret_Sharing
I will bring this service to the world and everything will be saved :) Who is with me.? <comment><USER2> I think it's a bad idea to use crypto from someone who just discovered Shamir's Secret Sharing (which practically guarantees that the system is going to be idiosyncratic) when PGP is available.

One sometimes wishes that developers who are so enthusiastic about helping get encryption deployed would focus instead on the UX for PGP/GPG, instead of developing new, broken cryptosystems.

<comment><USER3> That's happening right now at [http://parley.co](http://parley.co) :) Beta will be ready August 1.

</comment></comment><comment><USER4> I think it's a great idea, and am with anyone willing to stifle such intrusive surveillance, but my main question is, how do you prove this?</comment>


Ask HN: Java Development in 2020 - <AUTHOR> I used to do a good amount of Java development in the past, from Struts to Spring to PlayFramework. Given the current economic conditions, I figured it'd be a good idea to refresh my Java-ecosystem skillset in order to better prepare myself for a loss of employment. What Java-related tech/framework/libraries is most in demand in today's world? <comment><USER2> I would go all-in with Spring Boot for Cloud-Native applications (Kubernetes & Docker - See the book Cloud Native Patterns from Manning Publication as example).

JavaEE (now known as JakartaEE) is pretty oldschool and IMHO a dead horse: since Java 9, all the modules have changed package name, breaking massively the old code and those new modules are partly _unnamed ones_, so that means, you cannot use tools such as jlink or jpackage to obtain an optimized JVM image.

JavaFX is far better than Swing for Desktop applications, but if you really want to develop a Desktop application, consider C++ and Qt Framework, especially for performance. Also in this case, now JavaFX is called OpenJFX and comes as modular approach.

<comment><AUTHOR> Thanks, I didn't know that JavaFX was still a thing. Looks like it's come a long way!</comment></comment>


Przybylski's Star - <AUTHOR> https://en.wikipedia.org/wiki/Przybylski%27s_Star <comment><USER2> Yes Yes Yes! There's the distinction of "Natural Elements" and I've always suspected that it was a somewhat temporal distinction. While I believe that the Periodic Table is a Universal Truth, "Natural" vs "Man-Made" elements always struck me as a Earthly way of looking at things. Not bad, just not the whole truth.

<comment><USER3> Just FYI the periodic table also doesn't tell the full story. Take a look at the isotope table:

[https://en.wikipedia.org/wiki/Table_of_nuclides_(complete)](https://en.wikipedia.org/wiki/Table_of_nuclides_\(complete\))

<comment><USER2> I really love the Isotope Table. I seem to remember having a chemistry teacher that mentioned something about the table being wonky or secretive. Total hearsay.

I like the periodic table because I could verify it. Isotopes? Not so much...

<comment><USER3> I don't think there's anything wonky about that table, it's just often not in the curriculum in high school, and teachers don't want to "confuse" students with material outside of the curriculum. But for me it greatly simplified understanding isotopes and radioactive decay.

And why would you think you couldn't verify it? All of the isotopes in the table were observed in a lab somewhere.

<comment><USER4> "it's just often not in the curriculum in high school"

I'm pretty sure that most high school science students have at least seen it before though.

<comment><USER5> The Isotope Table? I'm old and rural, but I didn't come across it in high school until I (an atypical geek) went looking for it specifically.

</comment></comment></comment></comment></comment></comment><comment><USER6> I dont understand, what significance does this star has? Why was it upvoded to front page? What was the original title? Now it only says "Przybylski's Star"

<comment><USER7> original title was "a star that has plutonium in its spectra"

<comment><USER8> The reason it's interesting is that the star appears to contain a variety of short-lived isotopes, not just of plutonium: e.g. promethium-145, with a half- life of just under 18 years.

Some as-yet unidentified process is replenishing the star's isotopes. An idea I've seen[1] is that the radiation from its neutron star sibling, invisible to us, is powerful enough to trigger nuclear reactions in the star's ionosphere.

1\. "A hypothesis for explaining the origin of Przybylski's star (HD 101065)" [http://link.springer.com/article/10.1007/s11963-008-1005-7](http://link.springer.com/article/10.1007/s11963-008-1005-7)

</comment></comment></comment><comment><USER9> Interesting. I wonder what elements are created when a rare star like this goes supernova. Though as this type is so rare, we may not know if they even do.

<comment><USER2> The biggest baddest Particle Accelerators in the 'Verse. I'm fairly certain we don't fully understand "common" supernovae.

</comment></comment><comment><USER10> A star can't have have plutonium in its spectra. A single star doesn't have spectra, only a spectrum.

If you were talking about multiple stars, then yes, they would have spectra (the plural of spectrum).

To be clear, I don't mean this as a criticism of the submitter. :-) In fact, I appreciate that the title was changed from the original Wikipedia title to bring out the interesting part. Just wanted to note a little detail of spelling/grammar that is easily confused.

Plus, plutonium is only one of the interesting things about Przybylski's Star. It is a really weird star!

<comment><USER11> I suspect we are confident that Pu is there because there are spectra indicating its presence, as opposed to a single spectrum.

<comment><USER10> Well, you may have me there. Now I am totally confused about whether it should be spectrum or spectra.

I suppose that means it's time for me to call it a night!

<comment><USER11> I think of in terms of the data we collect. Make a single measurement over a range of energies/wavelengths/frequencies and you have collected a spectrum. Repeat that measurement or make measurements covering different energies/wavelengths/frequencies and you have some spectra.

For the star from the article, I think it is fair to say that Pu consistently appears in the spectra that have been collected.

<comment><USER10> Thanks, that's an interesting way to look at it and makes complete sense to me.

At the risk of sounding like a total nitpicker, I am still a bit confused. I understand that you may measure the star's spectrum and get one result, and I may measure it and get a different result, so now we have two different (but hopefully fairly similar!) spectra for the star.

But does this mean that _the star itself_ now has two different spectra? Or is it just that we've both measured it imperfectly and came out with different results?

As another example, suppose we have an object with a mass of exactly one gram. I measure it as 0.9999999 grams. You measure it as 1.0000001 grams.

Now we have two different masses for the object. Does that mean that the object itself now has two different masses (plural)? Or does it still has a single true mass of its own and we've both just suffered from experimental error?

I hope anyone reading this is not too annoyed - I'm just trying to understand how singular and plural work here, and to have some fun with the discussion. :-)

<comment><USER12> > I'm just trying to understand how singular and plural work here, and to have > some fun with the discussion.

Hey, that's my kind of discussion :)

There is no one "how singular and plural work here". Singular and plural inflections are a tool speakers can use to express a dimension of their thought; syntax isn't capable of fully determining which will appear.

Consider the sentence "my family are all Buddhists". "Family", the subject of the sentence, is unambiguously a singular noun, with plural form "families". The verb in the sentence is, also unambiguously, inflected for a plural subject. It's inflected that way because the speaker wishes, for purposes of the sentence, to conceive of their family as a collection of several people. In another context, it would be unsurprising to see "family" with singular verb agreement.

People may say "spectrum" or "spectra" based on what about the situation they're describing they want to provide focus on.

<comment><USER10> Many thanks to you as well as wycx, cperciva, and mirimir for engaging in the conversation. I learned a few things from you all!

I must confess: after my initial comment started gathering downvotes I was on the verge of deleting it. I'm glad I didn't, since it led to such an interesting and informative discussion.

I've seen this fairly often on HN, where someone posts a comment that is either factually wrong, off topic, or just something I strongly disagree with, and then a very interesting conversation follows from that. I make a point of upvoting the original comment along with the replies, since after all it was that comment that sparked the discussion.</comment></comment></comment></comment></comment></comment></comment>


You Can't Do Binary Under Pressure - <AUTHOR> http://toys.usvsth3m.com/binary/

<comment><USER2> Apparently I can. :-)

Also, try their "You Can't Write Proper English Under Pressure":

[http://toys.usvsth3m.com/write/](http://toys.usvsth3m.com/write/)

</comment><comment><USER3> _holds q_

Better than I thought.

</comment><comment><USER4> Although I beat it, It still took my brain until level 3 to realize why I skipped from level 1 to 10

</comment><comment><USER5> I didn't know I could do this so well.</comment>


Spyware Dolls and Intel's VPro - <AUTHOR> https://danielpocock.com/spyware-dolls-and-intel-vpro <comment><USER2> I hope for european authorities to force Intel and AMD to offer chips without ME and consorts and providing guaranteed complete documentation and control to the users. Food is regularly sampled and controlled. I think the same for electronics is necessary. EU, why do you sleep?

1\. Is there a justification for it? Yes, Intel and AMD have together a monopoly for fundamental parts of consumer and business computers. They do not leave the choice to avoid ME and equivalents. The products are fundamental and the functionality can be provenly malicious. That allows anti-trust measures.

1.1 But aren't OpenPOWER, RISC-V, ARM, ..., alternatives? No, because the products either don't exist, are not suitable for the needs, or have similar issues with lack of documentation and guaranteed control for users. Please correct me if I'm wrong. I expect hardware level reverse engineering to check for backdoors.

2\. Can authorities force them to change their offering? Not directly, but they can do it indirectly and effectively by forbidding selling their products without change. Or by charging them huge fees for every CPU sold while not offering an alternative.

2.1 Can the authorities check the hardware? Yes, but it is time-consuming and needs experts. Since it could be done for the whole of Europe, the load can be shared. Food controls also need experts, are time-intensive and don't work perfectly. Still, it is working generally good.

3\. Is this likely to happen? The authority needs to be willing to face huge and important companies and be able to withstand political pressure. German authorities are hopelessly incompetent when it comes to digitalization and computers. Maybe EU's organisations wake up. They have shown to be willing to face huge corporations and speak clear and understandable words with them.

<comment><USER3> > EU, why do you sleep?

Lack of alternatives. Even though NL for instance supplies critical equipment to all fabs there is no way the EU could force Intel or AMD to do their bidding because they could not possibly check if what they agree on is what is actually being done.

The EU still sees the USA as an ally (though it is clear the reverse is no longer the case) and this to some extent explains the lack of rigor here.

China and Russia are in a better position to deal with this problem and they seem to have chosen to create their own chips rather than to attempt to make a deal with the giants.

I'm sure France and/or Germany would love a EU processor if only for the prestige but I'm also quite sure that that processor if and when it saw the light of day could not be trusted any further than Intel or AMD now.

<comment><USER2> Why couldn't there be a law requiring all computers sold in the EU to have full documentation and complete controls for the user? I don't think this is impossible or surreal.

I think there are ways to check for certain things, if you have enough leverage. Also, if you demand high-level decription of hardware that is turned into circuits in europe, then that would make supervision way easier. As far as I remember there are also centers where Microsoft let's governments see Windows source code.

Europe already has chips with the same problems, namely ARM. If there is political pressure to create a new one, I'm confident that they will enforce people-protecting regulations.

Also, I don't think Chinese, Russian and USA cips have the same backdoors. Thus it us possible to protect against them by majority vote on output for given input.

</comment></comment></comment><comment><USER4> If an Intel employee go broke and sell privates cryptography keys and IME documentation to a hackers group, how many computer have to be replaced in the world ? Security by obscurity has never worked in long term.

<comment><USER5> Technically, from what we know ME firmware is flashable and possible to update except baked in private keys to verify signature.

Of course, it is still a single point of failure, would be much nicer if Intel provided documentation on chipset and CPU init as well as a way to replace those keys. (Say, hardware switch to enable write pin on some EEPROM.)

The big trouble is the huge attack surface of the vPro not running in magic unsupported "trusted mode" while not being properly audited is trouble.

Likewise blobs like SINIT used for TPM and SecureBoot initialization.

<comment><USER6> > Technically, from what we know ME firmware is flashable and possible to > update

And it might be running Minix3[0] which is amazing for me.

But man it sucks to think there is a *nix machine next to my machine I have no control over. Some might mention SSD fw, but does it have a known serial over LAN vulnerability[1].

Wikipedia also cite a elevation of privilege bug[2].

I'm so glad I'm not a IT manager.

[0]: [http://blog.ptsecurity.com/2017/04/intel-me-way-of-static- an...](http://blog.ptsecurity.com/2017/04/intel-me-way-of-static- analysis.html) [1]: [https://www.scmagazineuk.com/platinum-hackers-exploit- intel-...](https://www.scmagazineuk.com/platinum-hackers-exploit-intel-amt- sol-for-secure-cc-communications/article/667477/) [2]: [https://en.wikipedia.org/wiki/Intel_Active_Management_Techno...](https://en.wikipedia.org/wiki/Intel_Active_Management_Technology#cite_note- intel1-12)

ps. If anybody have some info of the minix in ME. Please drop me a message.

</comment></comment></comment><comment><USER7> "For a number of years now there has been growing concern that the management technologies in recent Intel CPUs (ME, AMT and vPro) also conceal capabilities for spying, either due to design flaws (no software is perfect) or backdoors deliberately installed for US spy agencies, as revealed by Edward Snowden. In a 2014 interview, Intel's CEO offered to answer any question, except this one."

[https://www.infowars.com/intel-ceo-refuses-to-answer- questio...](https://www.infowars.com/intel-ceo-refuses-to-answer-questions-on- whether-nsa-can-access-processors/)

Lots of deleted posts on that Reddit chat though, so it's difficult to get a picture. I know about ME etc, but had no idea Intel's CEO was asked abut it directly and his response (or lack of).

<comment><USER8> Infowars?

Really?

Do we have a more credible source than deleted comments on reddit interpreted by infowars?

<comment><USER7> I don't know the infowars site and its reporting quality, the original article points to it. That's also why I was asking for more info.

</comment></comment></comment><comment><USER9> I guess ARM is safe for now … Is it not?</comment>


Mozilla releases the largest to-date public domain transcribed voice dataset - <AUTHOR> https://blog.mozilla.org/blog/2019/02/28/sharing-our-common-voices-mozilla-releases-the-largest-to-date-public-domain-transcribed-voice-dataset/ <comment><USER2> I love this.

I do a lot of dictation on mobile devices for work, with middling, and perhaps more importantly, frustrating results (needless to say we are working on programming our way out of that hole). It is an area ripe for open source progress given the failure of larger companies with large proprietary data sets to make _basic common sense_ decisions in their transcription algorithms, together with no way to provide impactful feedback.

If anybody is interested, there is definitely a market for a more robust dictation library that can be integrated into apps and works offline. It just needs to be professional - e.g. allow for preferences including the ability to indicate a _strong_ preference for standard language and grammar over all slang, not forcing Title Case for anything resembling a brand name, having a training mode for words and phrases of the user's choosing, blacklisting of certain word or phrase results which are false positives, and proper learning from user corrections during use so the tedium of correcting the same phrase 100 times disappears.

<comment><USER3> There's also a huge need for better transcription software in radiology. Existing ones are expensive and are just not good enough to be an actual time- saver.

(A radiologist friend describes switching from a human medical transcriptionist to one of these "AI" software thingies as a cost-cutting measure by his hospital, or more accurately as a cost-offload measure. Hospital offloads salary, radiologist spends more time correcting stupid transcription mistakes for no extra pay).

<comment><USER4> I thought it would be faster to correct a transcript than type it up fresh. I can type pretty damn quickly, but still slower than the average person talks. I would rather follow along to an AI transcript and correct a few words than type it all new.

<comment><USER5> Problem is that transcription errors never have a misspelling and usually sound ok in yourself nene voice. You have to really pay attention to find them (reading the text backwards a sentence at a time sometimes helps with this)

<comment><USER6> Imagine a professional "assisted stenography" software package. Rather than automatic full transcription + proof-reading after the fact, it would transcribe "live" but with any words where its model gave a low-confidence output highlighted with the expectation that the human stenographer, listening to the audio at the same time the machine is, will type in the correct transcription (or just hit tab to accept, like in autocomplete.)

<comment><USER5> I would love it if I could always see the top three possible interpretations of what I just said to my phone. It's interesting watching the speech recognition think about what's being said and flip words around once it has enough context.

</comment></comment></comment></comment></comment></comment><comment><USER7> I have a (probably dumb) question: why don't we just use audiobooks for this? There are thousands and thousands of hours where the transcripts were written, and then read aloud. Some of them are now public domain. I'm sure some validation would need to be done, but it seems like there would be an endless validation set there. Am I missing something obvious?

<comment><USER8> Audiobooks are definitely possible for ASR training. Indeed the largest open ASR training dataset before Common Voice was LibriSpeech ([http://www.openslr.org/12/](http://www.openslr.org/12/)). Also note, the first release of Mozilla's DeepSpeech models were trained and tested with LibriSpeech: [https://hacks.mozilla.org/2017/11/a-journey-to-10-word- error...](https://hacks.mozilla.org/2017/11/a-journey-to-10-word-error-rate/)

But as others have mentioned, there are several problems with audiobooks as an ASR training dataset. First, the language used in literature is often very different from how people actually speak, especially if that language comes from very old texts (which many public domain books are indeed quite old).

Then there is the sound profile, which includes background noise, quality of microphone, speakers distance to device, etc. For recorded audio books, the speaker is often using a somewhat sophisticated setup to make the audio quality as clean as possible. This type of setup is obviously unusual when people want to speak to their devices.

Third, the tone and cadence of read speech is different than that of spontaneous speech (the Common Voice dataset also has this problem, but they are coming up with ideas on how to prompt for spontaneous speech too).

But the goal of Common Voice was never to replace LibreSpeech or other open datasets (like TED talks) as training sets, but rather to compliment them. You mention transfer learning. That is indeed possible. But it's also possible to simply put several datasets together and train on all of them from scratch. That is what Mozilla's DeepSpeech team has been doing since the beginning (you can read the above hacks blog post from Reuben Morais for more context there).

<comment><USER9> > Then there is the sound profile, which includes background noise, quality of > microphone, speakers distance to device, etc. For recorded audio books, the > speaker is often using a somewhat sophisticated setup to make the audio > quality as clean as possible. This type of setup is obviously unusual when > people want to speak to their devices.

It shouldn't be that hard to degrade the quality synthetically? And with a clean source you can synthesize different types of noise/distortions.

<comment><USER10> I can't speak for voice data, as I've not worked with voice, but I did my MSc on various approaches for reducing error rates for OCR. I used a mix of synthetically degraded data ranging from applying different kinds of noise to physically degrading printed pages (crumpling, rubbing sand on them, water damage), and while it gave interesting comparative results between OCR engines, the types of errors I got never closely matched the types of errors I got from finding genuine degraded old books. I've seen that in other areas too.

My takeaway from that was that while synthetic degradation of inputs can be useful, and while it is "easy", the hard part is making it match real degradation closely enough to be representative. It's often _really hard_ to replicate natural noise closely enough for it be sufficient to use those kind of methods.

Doesn't mean it's not worth trying, but I'd say that unless voice is very different it's the type of thing that's mostly worth doing if you can't get your hands on anything better.

<comment><USER11> You might say, if you can identify and simulate all cases of real life degradation, your problem is basically solved, just reverse the simulation on your inputs.

I'm not saying ocr isn't hard. I'm saying normalizing all those characters basically is the problem.

<comment><USER12> This isn't quite true if e.g. there are degenerate cases.

</comment></comment></comment></comment></comment></comment><comment><USER13> It's great to see innovation in the space of open data.

There have recently been a number of assertions that better quality ML data will outperform better ML algorithms, and this has certainly been true in my experience as well, especially in domains like speech recognition.

There's going to be a long road to catch up to the big players, however. Even 15 years ago there were companies who were doing 1M minutes of labled voice data _per year_.

The data gap between established players and newcomers to the market will continue to grow unless we invest in efforts like this.

<comment><USER14> Original Deep Speech 2 paper released few years ago mentioned a hundred thousand or two hundred thousand hours, but the amount of data has increased since then significantly.

Still quite a lot of languages have very tiny datasets of transcribed data.

</comment></comment><comment><USER15> I was decided to spend 10-ish minutes validating voices, because why not.

I did not hear any lines that were flat-out spoken incorrectly, at least as far as I could tell. However, I did come across a ton of _really_ poor samples, to the point of being somewhat difficult to understand. Things like:

• _Really_ strong accents

• Horrible, muffled microphones

• Background noise

• Super quiet

• A couple "robotic" samples I legitimately think were generated via text-to- speech software

All of these types of samples—save the last—constitute possible real-world scenarios. But, do they make for good training data? I very little about machine learning, but it makes logical sense to me that you'd want to teach the computer with "clean" data—something with a high signal-to-noise ratio which is as close to the "average" of the real world as possible. Is this completely wrong?

Separately, they ought to provide this type of instruction on what to do with borderline samples. If I legitimately can't tell for sure whether a word was spoken correctly, what should I do?

<comment><USER16> Yes, you do want the bad voice samples precisely because they correspond to actual input that a model might receive. A dataset with only clear samples would likely have a stronger "signal" overall meaning it might be easier for an academic testing a model to get higher test accuracy training on that data. The bad data makes the model more robust to non-ideal input types

<comment><USER17> In fact, it's not uncommon to take a dataset and deliberately, randomly distort it- for images, things like scaling, rotating, cropping, blurring, altering color balance and gamma, flipping, adding random noise...

The idea is to make the model resistant to that "bad" input and effectively enlarge your dataset for free- if you have a picture of a cat, you can automatically also get loads of pictures that you know should still be classified as a cat- rotated 15 degrees clockwise, noisy (like in low-light conditions), the tip of its tail is out of frame, the camera's automatic white balance screws up...

Also, the robotic samples may be real human voices mangled by LPC- Think a lossy VoIP call.

</comment></comment></comment><comment><USER18> In reading the comments here I see that some people do use voice with their hand rectangles for other purposes than speaking to someone. I never do even though there is some Google Assistant icon staring at me. If I accidentally start recording my voice by fumbling buttons then I instinctively try to stop it so I can continue pecking into the keyboard.

Is it a generational thing and will future generations find typing into a search box as anachronistic as I find using a land line with a rotary dial?

I am also British and therefore not as loud as some people in the English speaking world. Talking to my phone on the train would make me cringe. Clearly people like me will die off soon enough, however, is adoption a problem for these voice technology things? How do people get into changing habits from pecking at a keyboard to the evidently easier voice driven way of doing things? Is there one use case, e.g. in the car, where the habit of speaking to a gadget is learned?

<comment><USER4> When I was one-handed for a while after surgery, I would use my phone's speech-to-text function often to send emails. Far faster than one-handed typing.

</comment></comment><comment><USER19> I've been contributing to Common Voice for several months now. If anyone else is thinking of making contributions, it's worth mentioning that there are a lot more speakers than validators and English currently has a 1 year validation backlog, so new validators are more useful right now than new speakers.

<comment><USER20> Interesting! I started doing some validation a while ago then stopped because I figured it would be the other way around and I wasn't prepared to speak. I will start validating again!

</comment></comment><comment><USER21> My voice is in this dataset!

For the past few months, I've been on the iOS CommonVoice app reading sentences out loud. It's great fun, I'd recommend it.

</comment><comment><USER22> I'm puzzled by the "You agree to not attempt to determine the identity of speakers in the Common Voice dataset".

On some level it's a good idea to want to request this, but as the dataset is public-domain, isn't it going to get mirrored and retrieved by people who won't have to agree to anything? ...

<comment><USER23> It has no legal meaning whatsoever since, indeed, it's public domain. Or _maybe_ it can affect the downloader, but certainly not anyone who got the data from the downloader (without such promise). I think the point is to remind people that they aren't cool with it and that because you _can_ (CC0) it doesn't mean you _should_.

</comment></comment><comment><USER24> Great. Is there an open voice assistant project yet? Or a privacy focussed one?

<comment><USER25> Yes! Here's a recent HN discussion about itD [https://news.ycombinator.com/item?id=19152561](https://news.ycombinator.com/item?id=19152561)

</comment></comment><comment><USER26> Do they have the audio in a different format than MP3? MP3 is really garbage and introduces weird biases for voice.

<comment><USER26> As an update, in looking at the code it seems they hardcode the choice of MP3 for storage in the server.

Also very weird that they serve the tarball of MP3s gzipped, which seems mostly pointless to me, as it amounts to a reduction of maybe ~4% for a tremendous amount of time spent uncompressing the tarball (which itself has a bunch of useless macOS-specific headers, three apiece on each file).

Many of the MP3 files are literally just empty (zero size) or partially written (corrupt), it seems. I wonder if that issue comes from their choice to package the tarballs on macOS, or some underlying issue on the server side.

<comment><USER27> I think its on purpose to not give too much advantage to downloaders, there was a discussion long time ago, but they still continue with mp3. There are also other not so nice points: [https://github.com/kaldi- asr/kaldi/issues/2141](https://github.com/kaldi-asr/kaldi/issues/2141)

</comment></comment></comment><comment><USER28> Sadly, this is an area that big companies are not contributing to keep their competitive advantage.

Really glad to see Mozilla is trying to change that.

</comment><comment><USER29> This is amazing! I've been using LJS trained models and then cross-training them to target speakers, but this looks like it may produce even higher quality results.

I've previously implemented concatenative TTS using unit selection [1]. The quality is spotty, so I'm throwing it out and going with the ML approach, which produces higher fidelity voices even in my own experiments.

My next steps are taking an end-to-end synthesis model and porting it to run cheaply on the CPU.

Thanks so much for making this data available, Mozilla! You're helping democratize this technology for individual engineers and researchers that don't have Google's resources.

[1] [http://trumped.com](http://trumped.com)

</comment><comment><USER30> I'm interested in using this for text to speech, rather than speech to text. Is wavenet still the state of the art for training on a dataset like this?

<comment><USER31> The biggest feature of this data set is that it includes lots of different accents and non-native speakers. This should improve voice recognition in these areas, but I'm not sure if it is that usful for voice generation.

</comment></comment><comment><USER32> It would be super rad if someone plugged this dataset into CMU Sphinx. Google is the only decent ASR and a competitive open source alternative would be awesome. A big thank you to Mozilla for this dataset.</comment>


Tackling the risk of cyber security attacks - <AUTHOR> http://www.zdnet.com/news/tackling-the-risk-of-cyber-security-attacks/6224297

<comment><AUTHOR> It's a completely valid point that usually companies will do a single security review and want it to last for a number of months, often a number of years. Continuous monitoring is the only reasonable way to ensure adequate security of a company's website; if new code is being written, new vulnerabilities are bound to be written too.

Prioritizing vulnerabilities by which to conquer first and analyzing which vulnerabilities will hurt you more quickly and hit you or your clients the hardest is also interesting; it's something we (Tinfoil Security) already do, but not something we see enough people think about.</comment>


Thought Leadership Requires Going Beyond The Innovators - <AUTHOR> http://blogs.forrester.com/tom_grant/10-07-12-thought_leadership_requires_going_beyond_innovators

<comment><AUTHOR> tl;dr - give early adopters "useful information, not claims of your own genius as a forward-thinking vendor" to Cross the Chasm</comment>


Ask HN: I don't want to fly united. Cancel tickets? - <AUTHOR> I have a non-refundable international ticket with United. After today's incident I don't want to fly with them. Any advice on how to cancel my ticket and get my money back? <comment><USER2> My girlfriend just had Chase refund a ticket for her because she had a health emergency. She offered to give them a doctor's note, but all they did was ask the name of the doctor she went to.

Of course, they can't actually call the doctor to confirm what she said because of HIPAA laws. So I guess that's that -- she could easily have lied if she wanted to.

</comment><comment><USER3> Short of a customer service agent taking pity on you, or your bank/credit-card company letting you off the hook, I don't think it's really possible.

If you really feel that strongly about the incident where you don't even want to be on their planes, then likely the only option you have is to spend more money on a second ticket for a different airline.

</comment><comment><USER4> It may not be refundable, but if it can be changed, you may be able to change the flight for a codeshare where the flight is operated by another airline and not united.

I think your chance of doing this is better on an international ticket, though I'm not sure how you find out if a flight is a codeshare or not.</comment>


Blue Origin just sent a jolt through the aerospace industry - <AUTHOR> https://arstechnica.com/science/2017/10/blue-origin-has-successfully-tested-its-powerful-be-4-rocket-engine/ <comment><USER3> I am certainly excited about the possibility of a new competitor in the aerospace industry, but it is absolutely stupefying how much press Blue Origin manages to... obtain... in spite of having done absolutely 0. Literally - <USER2> have yet to even put a single thing into orbit. They've done some "landings" but these are suborbital launches, which in other words means you go straight up and then come back down, like a model rocket. Orbital launches involve accelerating along the x axis to incredibly high velocities. As Douglas Adams said the trick to flying, or staying in orbit, is to simply keep missing the ground as you fall.

To say a 3 second half power static fire is "sending jolts through the aerospace industry" is plainly ridiculous. Yet, of course, I clicked on it -- something I never would have done if the title actually represented the contents of the article. Ahhhhhhhh....

</comment><comment><USER4> The title is a bit misleading but that is sort of par for the course. Blue Origin did the first "hot fire" test of the BE-4.

What that means is that everything on the engine was turned on and the fuel ignited. This is the one of the final steps in engine development where you run it for a short period, collect data about as much stuff as possible, try to predict trends from that data to insure that the motor wasn't destroying itself. That sets up the next hot fire test which, I've read, are between 2 and 10x longer. Then you get durability tests (you run it at a variety of external temperatures, and conditions) and longevity tests (you run it for the entire mission life) then you take it completely apart and retest the metallurgy on bits that got hot (to insure they didn't get changed into something that would be out of spec for the engine) and check for erosion in the combustion chamber etc etc. Its a long and detailed process to go from a rocket engine 'design' to a rocket engine 'data sheet'.

It is a very large engine. With 50% more thrust than the SpaceX Raptor. Historically, engine thrust has been significant because the overall "efficiency" of rockets has been the fraction of the overall mass of the complete rocket they can get into orbit (or where ever they are going). So for a given engine what is important is what does the engine and its components weigh, versus the thrust it delivers. According to NASA this was the reasoning behind the F1 engines in the Saturn V, they had only 5 engines but they were huge, which gave them the thrust they needed but only 5 turbo pumps, 5 sets of propellant valves, 5 nozzles, etc.

It is also less complex to operate fewer engines.

On the flip side an engine out is a bigger loss of capability (and one of the advantages touted by the F9's 9 engines, the ability to achieve orbit with one engine out). And if you're re-landing these things, the ability to finely tune the throttle is very challenging on a larger engine. Look at the F9 which lands with exactly 1 engine firing. It has been reported that the landing weight of the F9 booster stage is such that even at its lowest throttle setting the booster would accelerate if the engine was left on. That means no 'hover' ability, just trying to intercept the ground before the rocket starts going up again :-).

Blue Origin still 'feels' about 3 years behind SpaceX though, and I continue to think the challenge here will be whether or not Falcon Heavy is successful in its first flights. SpaceX has the booster recovery aspects working smoothly, and Heavy has enough extra capacity to lift all the 'common' payloads, so it could monopolize a lot of the launches (and money that goes with them). That will make it much more difficult for New Shepard, because there will be little if any margin of error, and unlike SpaceX which can now lower prices given their understanding of recoverability, New Shepard will need to be able to compete from the first flight forward.</comment>


Why the Future of Work Is at Home - <AUTHOR> http://www.psmag.com/business-economics/office-youre-already-dead-to-me-leave-us-alone-gawd <comment><USER3> Working from home for me was likely slowly sliding into a deep depression with no one to talk to. I understand many people pull it off but I fundamentally believe we are social animals who benefit enormously from being around other humans. I don't think that means you need to work in a dedicated office, but an office / studio / around other hackers (regardless of who they work with) is a huge boon to life style and learning.

<comment><USER4> I think everyone has a different optimal balance. I prefer being in the office at least 4 days a week, while my head developer seems to excel at one day per week, with others somewhere in between. I tend to get more distracted at home then most (I have a pretty large property that always has some kind of chore or new project to be worked on), but not everyone has this problem. I think the flexibility to find a happy equilibrium is the key ingredient.

Hearing that some demand it be all-or-nothing is a bit puzzling to me. Though I have my suspicion that recent high profile moves to eliminate telecommuting (Yahoo and Reddit come to mind) were really just stealth layoffs. A way to reduce FTE through self-selection.

<comment><USER5> This, I think letting individuals/teams figure it out is the best option. Some projects, and even specific times within a project, call for being physically with the team and other times i am more productive being able to just focus on a task at home.

Also I find that my time spent in the office depends on the season. During the Spring and Fall when it is a perfect temperature for being outside i love going into the office and being able to go out for a nice lunch outdoors somewhere with coworkers.

</comment></comment></comment><comment><USER6> I enjoy working remotely because I don't have to lie to myself. There's no faking it for a boss who walks by. There's nobody to impress but myself (and my teammates on chat).

I think that actually makes me far more productive. Now the two cumulative hours I spent pretending to be working while in the office, I spend doing things like exercising or running errands. Then when I return, I'm far more rejuvenated than I would have been mindlessly sitting at the office.

<comment><USER7> I think a balance of being in the office and working from home is key. I am much more productive at home as well, but eventually that becomes a tedium in its own right. It's hard to beat face-to-face collaboration with your colleagues. Plus, putting in some face time at the office is still essential for your career. There's no getting around that for the foreseeable future.

<comment><USER8> 100\. I worked from home for the last 8+ years and it's been an interesting ride. My experience: was amazing at first (productivity, independence, no office drama), then got slightly uninspiring, then got downright depressing ("why even bother showering today?"). Now I mostly work in a small office, but with a lot of flexibility and some days at home.

The combo is the way to go. There was a time where I worked from home 4 days out of the week, then spent the entire 5th day in the office with no plans of actually getting work done, just getting in-person face to face meetings and collaboration done. That was an ideal situation for me, as I planned those in- office days accordingly and wasn't busy thinking of all the work I needed to do while in mid convo with a peer.

</comment></comment></comment><comment><USER9> Haven't we had those articles about 3 times a year over the last 20 years?

I worked from home for two years. The biggest issue for me was not being able to influence decisions and create relationships with the various stake holders. I like to be involved in more than just writing code for some corner, i.e. I don't enjoy just being a cog in the machine. We had one of those funny remote presence robots but that isn't really the same thing.

For me the social aspect was not an issue. My wife and kids are home (homeschooling, the future of school is also home). I would go out for lunch with friends and I have other activities.

Being able to occasionally travel and work from somewhere else was great. Owning my work environment, having a standup desk, an office, my choice of gear, was also great. Not so great was the expectation (mostly self imposed) that you're always available online.

I also managed people from home. Some in the office. Some also remote. That's also very difficult, making sure they didn't feel left out like I sometimes did. Trying to gauge contribution without seeing them working physically and trying to care less about how much time they're putting in and whether they're always available :) I.e. trying to be a good boss.

Now I work from home two days a week. It seems like a reasonable balance. Could probably even do 3 day a week. The office is in the same city vs. a different country so coming in when needed is easy.

In the not so distant future I think you'll be able to put on your VR system and be in the "office" or in a meeting, take it off and be at home. If everyone was in that system I think this could be a good solution.

</comment><comment><USER10> I work from a remote office right now. Even though it is less isolating than working from home, I've noticed a major communication problem. When you are working with other people in the same office, you can notice unspoken things. You can see when something you said is unpopular. If someone hates something you said, its possible they will just keep quiet and avoid conflict instead of telling you about it. So maybe everyone in the main office is slowly starting to hate you and your ideas, and you don't find out till it has gotten pretty far.

I know HN loves working remotely, and I do too. But you have to accept that even if your office communicates well, no one is going to email you an update of the general vibe in the office as it changes moment-to-moment.

<comment><USER11> Remote working requires VoIP, imo. I grew up collaborating with teams in online games like WoW and Dota, and I learned that constant communication is the only way to thrive when you can't see other humans face-to-face. It seems ridiculous to be in a voice chat room with your coworkers at first, but it's the best way to ensure everyone is on the same page and communicating. Written communication, be it email, irc, or slack, is not enough for effective remote teams.

</comment></comment><comment><USER12> Increased working at home seems like it will be a good candidate to replace open office plan workspaces.

I like to think of workplace design as moving back and forth between private and open, each taking advantage of new technology when they become standard.

With good internet speeds and collaborative chat apps being ubiquitous, and real estate costs soaring in the great tech hubs, work from home makes sense.

</comment><comment><USER13> I work from home, and it requires a lot of discipline especially when you have to wake up for the early morning meeting then wake your kids up for school

<comment><USER14> Working from home for many years, here's my take: * Discipline to start your day, but also to end it.

* You need to dedicate an area to be your office and come and leave it as if you had to commute to work.

* Go out and socialize! Especially for introverts, it's easy for us to neglect some social balance.

* At the end of the day, make sure you switch into activities which will 'switch' you off work and into something else (working out? Hobby? Kids homework?)

<comment><USER15> Good list. I would also add:

* Door on dedicated space.

* Pants. Or some other work like ritual to convince your brain you are 'going' to work.

<comment><USER16> The last point sounds interesting. Gonna try that next time I do home office (which I only do when really necessary, e.g. because of craftsmen appointments at my home).

</comment></comment></comment></comment><comment><USER17> What I loved when I worked from home was...

PROs

\- Wake up start working no shower or long drive in traffic

\- Can work anywhere I want either sitting or standing

\- Can take breaks anytime I want to go to doctor appt, go for a long walk/hike at various parks close by

\- With my last two points I kept a healthier lifestyle .. didnt gain weight.. actually lost a little

\- Not a plus for me completely, but my output was crazy high and my co- workers randomly gave me kudos for the work completed.

CONs

\- Pay was a lot less then say working at govt. office

\- Hours I worked due to the above was anytime between 10am & before I slept, but I got things done & more.

The job noted above was great, but I went on a reality TV show and they wouldn't work with me (show or job ... which i work remote so i didnt understand their position.. possible ego thing). Now I am back working at an office, fighting traffic and fighting the unhealthy aspects that come from working at an office. Overall, I love what I am doing at my new job more then the last (the actual work), so it's a trade off.

</comment><comment><USER18> "a certain numbers of hours in-person to maintain accountability"

At GitLab we think that accountability doesn't require to be in-person. We see the value of regular 1:1 conversations with you manager but those can happen in a video call.

<comment><USER19> Totally agree! The last company I worked for demanded we be in-person, even though I was #1 in every single support metric (number of tickets resolved, fastest response time, most bugs fixed per month, etc). I just don't get it. If the work gets done, who cares if you're there or not?

<comment><USER20> I find the people who care the most provide the least value beyond showing up themselves.

</comment></comment></comment><comment><USER21> > _Once upon a time, working from home seemed a romantic and highly exclusive > option for a luxury creative class._

Even this is not true; working from "home" used to be the _norm_. I ask you, did a cobbler of old or a general store shopkeeper _commute_? No, they had their home in the same building. It was only with industrialization that commuting, i.e. not working from home, became the norm.

<comment><USER22> I've been looking a great deal into technology, progress, change, etc., and when you get down to it, the whole concept of the modern workplace is, well, exceptionally _modern_.

Computers as a work classification didn't exist as such until the 1970s. Office work was largely a novelty of the 20th century (though there were some "clarks" prior to that). And as you note, manufactories, as places where manufacturing, that is hand-making things, happened, outside the home, was a creation of the 18th and especially 19th centuries.

Before that it was mostly farm and ag labour, some skilled trades, and a very thin set of professional classes: law, medicine, military, clergy, and government work.

Commuting required cars, not commonplace until after WWII. Before then, you might have travelled on a streetcar or commuter rail, but _that_ dates only to the 1880s. Prior to then, it was walking. Horse-drawn conveyance only if you were quite wealthy. Otherwise it was "mind the gunk".

</comment></comment><comment><USER23> I don't really want to work at _home_ , because that just means sitting at my kitchen table all day long... but I do appreciate working away from the office, or at least having the flexibility to get away from there some days.

People get into these debates about working at home vs working at the office, where some people like to be at home and some people like to be at the office, but my primary desire is just simply to not be in the same place all day every day.

 _That 's_ what depresses me, not any innate features of either an office or my home. Both are nice enough places. I just want some damn variety and freedom in my day to day life.

</comment><comment><USER6> I work from home, but I spend half my time at coffee shops. Sometimes it's hard to concentrate at home, but then there are times like this morning where I've been in the zone. Wish I could nail down exactly what makes the difference.

<comment><USER24> I've come close to trying to nail down the zone issue. Still not certain, but it's related to decisions. The days I don't have to make an actual decision, but to just solve the problems, things move faster.

But sometimes, when I'm uncertain of the design or whatever decision that needs to be made, I fall out of the zone and into procrastination mode to avoid making a decision that I feel might be wrong.

<comment><USER6> Wow you may be on to something there.

I think that applies to me, especially in a small startup where there is a ton to decide on (versus outlined tasks). I think when a task is already decided on, I move quickly. Depending on my mood I think I get overwhelmed and procrastinate when lots of decisions have to be made.

<comment><USER24> [https://en.wikipedia.org/wiki/Analysis_paralysis](https://en.wikipedia.org/wiki/Analysis_paralysis)

Do you also find "comfort" in only using Apple products?

</comment></comment></comment></comment><comment><USER25> 3 years working from home. There are pros and cons, but the pros for myself and my company easily win the day. When I think of all the time - <USER2> and personal - that I and other people have wasted commuting, it hurts my head.

Generally I think of working from home in terms of collaborative work and execution. About 10% of what I do is collaborative while 90% is pure execution. For collaborative work, there's no substitute for being in the same room with other people. But when it comes to executing, which is most of what we do, being in a private office at home allows me so much more productivity than I ever have in a typical office. The social isolation that people mention does occur occasionally, but there are ways to mitigate it.

Another thing to consider is that many teams or organizations are naturally distributed across offices or companies already, including teams that work on open source efforts. When it comes to this kind of work, collaboration must be electronic and where you sit doesn't really matter. You may as well get some more out of your day by skipping the commute.

</comment><comment><USER26> A trick that worked for me is getting a dog. They keep you on schedule and give you breaks along your day (since they have to eat, go potty and go for walks).

Plus they are better than rubber ducks.

</comment><comment><USER27> I sure hope the future of work is working in a location that balances the needs of the worker and the team. For some teams that's an open office, for some it's cubicles, for some it's completely remote, for some it's some mixture.

But apparemtly, the future of work is claiming your work style is the future of work.

</comment><comment><USER28> I've worked from home for 6 years (with two years in between when I would come to the office 3 days a week).

I never really had issue with the socialization but then I tend to travel a lot (I travelled 7 months this year), and I tend to like meeting and talking to people I don't know.

One thing is sure though is that it's harder to find the drive when working from home. I'm usually more productive from home but if there's any external event that causes me to be down, it's much easier to have unproductive days. Overall, even with those unproductive days, I'm still more productive than in an office (especially places with open plans).

</comment><comment><USER29> Sweden has a 6-hour workday, because studies have shown that is optimal.

Now I'm wondering how working at home influences that optimum.

<comment><USER24> This is a bit of a myth(?) that got out of hand quickly.

For _some_ government employees or agencies/body-shops _temporarily_ trying to get squeeze some free PR out of it for government contracts. Not for private employees, most certainly not S/W engineers.

On fun stuff, I get more done on 12 hours than I do on 6 hours, so not sure what the variables are for the studies in question.

<comment><USER30> 12 hours per day is only possible in short bursts, not sustainable in the long term. However, I wonder how would that 6 hour work day compare to working just 3x12 hours per week. So, 3 really long days of work and 4 days of leisure time in between. I know I would really like such schedule.

</comment></comment></comment><comment><USER31> For me, it's very clear how work/life balance is affected by working at home vs. working at the office. If I work at the office all the time, my home slowly becomes a mess: I'm always running late and I don't have time to clean up and organize my home. I don't eat. I start hating everything. I'm less productive at the office because I didn't eat and probably didn't sleep well. I can't concentrate. Forced socialization makes me miserable. When I go home I get depressed because I find a mess and I don't have energy to clean up. However, if I work at home, I work very happily, ideas start to flow, I concentrate, I take my breakfast when I need to, I take breaks not just to drink coffee and do the small talk thing some like, but to clean up a bit my home, eat, do errands, etc. If I stay at home, I'm happy, my home is clean and organized, I eat, and my balance feels right.

</comment><comment><USER32> I feel isolated when doing 100% remote work. Noting that isolation cell is a form of prison punishment. For others it is total freedom to be able to work remote from where ever they want which I understand. What I have found out that I like to work with other real human coworkers. Have tried both working in a normal office and 100% remote working and I prefer real colleagues. This takes me to the analogy of the Bluezones where peopole live the longest in the world one of the contributing factors to a long life besides eating healthy is a strong community.

Checkout the concept of Bluezones here [https://en.wikipedia.org/wiki/Blue_Zone](https://en.wikipedia.org/wiki/Blue_Zone) [https://en.wikipedia.org/wiki/Blue_Zone#/media/File:Vendiagr...](https://en.wikipedia.org/wiki/Blue_Zone#/media/File:Vendiagram.gif)

</comment><comment><USER33> For me a coworking space is so much better than home. As long as they're not talking directly to me, there's an energy I get from being around other people who are intent on their work even if they're not on a team with me. At my space there are other programmers; we can't all show our code toeach other but we have great lunchtime talks, which is something I'd never get at home.

<comment><USER12> This is a great feature of coworking and definitely isn't just limited to programming - I've had great learning moments in many different areas of my work from talking to people not associated with my business:

1) how and why to set up a development environment

2) why to increase pricing on my product

3) various sales techniques

</comment></comment><comment><USER34> > Working from home for me was likely slowly sliding into a deep depression > with no one to talk to.

          Thats why Working From Home is very productive. You dont get disturbed by others and can get a lot done.

</comment><comment><USER35> as long as there are managers, there will always be a a high percentage of 'work in the office' situations.

People always talk about the future work environment from a rational point of view. That is not how business works.

</comment><comment><USER36> I also wonder how this will impact the real estate market in a distant future.

<comment><USER37> I noticed a lot of buildings here converting from once commercial to now residential and renting at 2x the price that it once was when commercial (per square foot/month price).

Edit: Here is some info in an older 2013 article: [http://www.bloomberg.com/news/articles/2013-06-18/king-of- do...](http://www.bloomberg.com/news/articles/2013-06-18/king-of-down-market- offices-bets-on-rentals-real-estate)

</comment></comment><comment><USER38> I love working from home but it makes problem solving some times a lot harder. Issues that can be dealt with by all going into a room for a while now take much longer over other mediums.

</comment><comment><USER39> the majority of marriages get started in the workplace. a safe place to get to know each other, without the pressure of dating. working together teaches you a lot about a person.

take the social cost into account. not everyone excels in the dating scene.</comment>


Z-Type: Shoot to Type (Try the Expert Mode) - <AUTHOR> http://www.phoboslab.org/ztype/

<comment><USER2> That was refreshing. It reminds me of letter invaders.

I wonder whether there would be any significant difference in first-game performance between qwerty/dvorak/azerty/etc touch typers.

</comment><comment><USER3> Should use a monospace font.

</comment><comment><USER4> Nice</comment>


David Allen: Getting Things Done (45 min Youtube Video) - <AUTHOR> http://www.youtube.com/watch?v=Qo7vUdKTlhk

<comment><AUTHOR> About the GTD cult:

<http://en.wikipedia.org/wiki/Getting_Things_Done></comment>


Building Bloodhound: The Fastest Car in the World - <AUTHOR> http://spectrum.ieee.org/transportation/advanced-cars/building-bloodhound-the-fastest-car-in-the-world?utm_campaign=Weekly%20Notification&utm_source=boomtrain&utm_medium=email&utm_content=&bt_alias=eyJ1c2VySWQiOiI4MGVmYTU4YS03OGVjLTRkYzgtOTljMy00ZDE3NzZjNTNkOTIifQ%3D%3D

<comment> white-flame I will still be persnickety and expect world speed records for a "car" (as a synonym for "automobile") to be achieved by propelling it by its wheels, not by being a jet/rocket sled.

(unresolvable ontological arguments to follow below)

<comment><USER2> They're going for a land speed record, not a wheel-driven land speed record. So a Category C vehicle (Special Vehicle) and not A (Special Car) or B (Production Car). While it's not a car it IS an automobile.

<comment><USER3> More precisely, land _wheeled_ speed record meaning the vehicle still rolls on the ground.

Rocket sleds can go much faster because of their lack of wheels... this one reached Mach 8.5 (~10000km/h):

[https://en.wikipedia.org/wiki/File:8.5_Mach_rocket_sled_0304...](https://en.wikipedia.org/wiki/File:8.5_Mach_rocket_sled_030430.jpg)

</comment></comment></comment><comment><USER4> OT: Anyone interested in learning about this type of racing should make a Web search for the term "Bonneville Salt Flats". It's pretty interesting and challenging.

</comment><comment><USER5> I am really surprised - "From standstill to about 650 km/h (400 mph), the EJ200 takes the strain." \- that EJ200 can only take the car to 400 mph, should not it be higher than that number. Anybody has any idea why it is so low ?

<comment><USER6> Perhaps it's output is not high enough to overcome the air and rolling resistance at that speed.</comment></comment>


NSA helped with Windows 7 development - <AUTHOR> http://www.computerworld.com/s/article/9141105/NSA_helped_with_Windows_7_development

<comment><USER2> NSA has been contributing to Linux development for longer: <http://www.nsa.gov/research/selinux/>

<comment><USER3> Hmm,

I feel much better about NSA involvement with Linux because of it's open source nature.

The NSA could be working to patch security holes in Windows or it could be installing back doors or both. With Linux, it's clear they're patching security holes/vulnerabilities.

<comment><USER4> There's also the small matter of whether they should be using tax payers dollars to fund the development of a proprietary product. I realise that most people use Windows but it still leaves a bad taste in my mouth. And I'm not even American!

<comment><USER5> Aren't Microsoft tax payers themselves?

<comment><USER6> Probably not. I would be surprised if their accounting department has not found ways to completely offset all of their tax liabilities.

I know they don't pay state tax: <http://crosscut.com/2008/02/02/microsoft/11167/>

</comment></comment></comment></comment></comment><comment><USER7> "Microsoft was not immediately available for comment on the NSA's participation in Windows 7's development." - This totally sounds like someone sent an email, waited 5 minutes, and then posted this article.

</comment><comment><USER8> NSA tries to help with practically every project. I remember in Bruce Schneiner's "Applied Cryptography" he talked about how the NSA worked on various encryption algorithms in use including the DES tables.

Nobody was quite sure what the NSA did to the tables, but when they came back they were different. Naturally, there is speculation that they built in backdoors. (These days it is an obsolete argument anyway as DES has already been broken by brute force because of its short key length.)

<comment><USER9> Close. The real story is that that the design of the s-boxes in DES appeared a bit strange to the crypto community, and there were rumors that the NSA had been involved in selecting the values. Foul play was suspected. It turns out that the values in the DES s-boxes were very resistant to differential cryptanalysis, much more than they would have been if they were selected randomly. Either the NSA knew this technique back in the 70s or the IBM researchers figured it out and agreed to keep it secret (both claims have been made); it was not until independent discovery in the 90s that we all learned why the s-boxes had those specific values.

</comment></comment><comment><USER10> Maybe the NSA just wants to make Windows more secure, to make cyber-warfare harder for everyone else. But assuming the NSA is malicious, it wouldn't need to install a back door. "Helping" with development gives it access to the Windows source code. Thus it gets a better shot at finding vulnerabilities it could exploit. They just need to stay ahead of patches.

</comment><comment><USER11> The NSA has long advised MS about what crypto systems to include in Windows. In particular, I heard that MS was advised to support elliptic curve cryptography within a two-year timeframe, which is shorter than usual, leading some to speculate about undisclosed flaws in other systems.

</comment><comment><USER12> So that's why my PC opened all those TCP connections when I typed in 'ammonium nitrate'.

</comment><comment><USER13> So even with the NSA helping secure Microsoft Windows, there's still lots of vulnerabilities being found in it all the time.

wow</comment>


A chat protocol for remote lectures - <AUTHOR> https://www.spinellis.gr/blog/20200406/ <comment><USER2> FWIW some video meeting apps have "raise hand" function (jit.si, and Zoom IIRC) that give an ordered list of who raised their hand - works well for turns at speaking.

I'd have thought Teams insistence on only allowing 4 feeds to show at a time would be deleterious for lectures.

<comment><USER3> Imho this is such an important feature that i don't understand why it's not more common. And even for Zoom and jit.si, the button is hidden in a submenu on mobile.

What would be even better is allowing the meeting chair to simply unmute a single person and mute everyone else to ensure some order.

<comment><USER4> > Imho this is such an important feature that i don't understand why it's not > more common.

I would assume this is the case because until now we haven't had the mass adoption of the technology on offer in the sheer numbers we are seeing with COVID. I know remote and recorded lectures have been around for years. But these companies haven't had the need to push these features simply because the call for them was relatively small. I'm going to assume that Zoom and jitsi and their competitors are now drunk with the data they're receiving and will move to adopt these features more readily.

My personal interaction with these in the past has been largely passive just sitting watching and taking notes, and clarifying later on an internal moodle forum. It's great to see growth in the area and an emphasis on active engagement.

</comment></comment></comment><comment><USER5> Seems like the next step would be for the video conference tool to create a transcript of when questions were asked for recorded meetings so you can skip to the point when a question was asked if you're rewatching or missed the live version. Do any tools out there do this and I just don't know about that feature?

</comment><comment><USER6> We use [https://babylon.house](https://babylon.house)

It's got all these features built in.

</comment><comment><USER7> > Overall, I find remote lecturing an emotionally challenging and less > rewarding activity than a physical lecture

I guess that's the main reason why we don't have remote lecture yet

</comment><comment><USER8> We do similar, also with "c" meaning "clarification needed", and it's higher priority than a hand or a question.

When there's a "c", then the speaker pauses ASAP to out what needs clarifying. These are important to ensure the context is correct and understood by participants.

For visual meetings, a person can indicated "clarification needed" by raising their hand while making a "c" shape.

</comment><comment><USER9> while probably more common i thought its somewhat foreign to prioritize based upon who is first to have something to say. I don't remember it like that in school. If anything the first people to raise their hands were those that always did that and most of the time the teacher kinda ignored them in order to find someone else to answer to. I specifically remember me not bothering anymore and only attempt to participate if nobody else did and i could.

<comment><USER10> Indeed: I try to give priority to people who haven't yet been heard. But giving also some priority to those who were first incentivizes students to participate more actively and energetically. Being first to raise your hand is more difficult than tagging along the others.</comment></comment>


Ask HN: Your favourite (oldschool) software? - <AUTHOR>

Personally, mine used to be XTree gold for dos back in the day (it was the bees knees!)<p>How about you? <comment><USER2> Stuff I'm still using:

Windows Eudora (nothing I've found has the features from it that I really want).

All the rest are from the '70s:

UNIX and cygwin. Specific utilities I started using in 1978 include dd, du, dc, ed/ex (death before vi!), tar, ls and ps.

EMACS, of course ^_^.

Scheme.

A bit later, command line FTP and dbx, the first unix debugger with source line correspondence (mid-80s, and it was a godsend).

Stuff I've stopped using for whatever reason, although I might get back to it: nroff, Scribe and TeX (before LaTeX). ITS and it's COMSAT equivalent to sendmail. Multics. Lisp Machines. Chaosnet, with its named ports (not numeric). UUCP email. Lex and yacc ... as long as I can rope someone else into writing their inputs ^_^.

Adventure, first generation Zork and Peter's Langston's 3D porthole spacewar and empire. Xtrek, the maze games on the graphics machines attached to MIT-DM and the Alto version. Rogue, rogueamatic (sp?) and nethack. The Artic Fox Amiga game.

</comment><comment><USER3> Definitely +1 for LapLink. Sure it required a null modem cable, but at least it beat sneakernet!

QBASIC that came with DOS. The built-in context-sensitive help is how I taught myself how to "program".

Also, Norton Commander and Norton Disk Doctor. In the bad old DOS days of no tab-complete and dodgy floppy disks, Peter Norton was a hero.

</comment><comment><USER4> _"... Your favourite (oldschool) software? ..."_

      > You are in a twisty maze of passageways, all alike...

Advent ~ <http://www.rickadams.org/adventure/> The first bit of software I really used & liked. Still marveling at ths source code now ~ <http://www.wurb.com/if/game/1>

</comment><comment><USER5> The dos xcopy command. Command line globbing seems like a great idea until you find out the hard way that command lines have a maximum length.

</comment><comment><USER6> +1 for XTree Gold, I was stoked when I got my hands on that.

Stacker was magic too.

</comment><comment><USER7> Laplink, baby! Copy that 200meg hard disk over your LPT port in just 40 hours!

</comment><comment><USER8> My dad still uses DOS Quicken. At heart it's the same as the current program, just without all the bells and whistles. Plus it was a very mature DOS program: think his is version 11.

</comment><comment><USER9> Gopher. Usenet (whatever client). Stacker. HP made some replacement desktop for Windows that I really liked, not New Wave.

Tapcis addon for Compuserve.

</comment><comment><USER10> Norton Commander and its derivatives. DOS Navigator was very nice but slow. Then Windows/Total Commander later.

</comment><comment><USER11> I used to like working with MathCad, but I haven't needed it since ~1995.

</comment><comment><USER12> Spacewar

also - the eve editor on Vax/Vms

</comment><comment><USER13> This old sysop enjoyed Wildcat v4.0 BBS

</comment><comment><USER14> Not that old school but I miss Winamp.

<comment><USER15> Why do you miss it? Older versions are surely available for download somewhere if the new ones annoy you, and even the new ones can be custom installed to filter most unneeded things.

<comment><USER14> I don't use Windows any more.

</comment></comment></comment><comment><USER16> PFE - I dearly miss that editor

</comment><comment><USER17> Anything by Beagle Bros.

</comment><comment><USER18> vi!</comment>