HNHacker News
TopNewBestAskShowJobs

electrum

1,230 karma · joined September 30, 2007

Software engineer. Co-creator of Trino (formerly Presto SQL).

https://trino.io/

https://www.linkedin.com/in/electrum

submissionscomments
electrum··on “AV is my single biggest impediment to shipping a secure browser.”
Valgrind's leak checker is far more complicated than a simple malloc replacement. It's a virtual machine that runs the program being debugged.
electrum··on Useful Perl one-liners (2013)
One big advantage is portability / compatibility. For example, Linux uses GNU sed but Mac OS X uses BSD sed. I've run into issues where a sed script works on one but not the other. Using perl in sed mode avoids this.
electrum··on Show HN: Simple JavaScript Tetris
Here's one I wrote a long time ago in Z80 assembly for the TI-86 graphing calculator: https://gist.github.com/electrum/76ac88de2e1d6c9254deaba003a...
electrum··on JDK 9 release schedule
Those Javadoc comments are useless. If you have useful comments, they would take up the same space even if the language supported properties.

Now you're left with something that could be fit on three lines (the "final" for the parameter is also useless and can be removed):

    public Foo getFoo() { return foo; }

    public void setFoo(Foo foo) { this.foo = foo; }
Even if you don't write the actual source like that, a good editor like IntelliJ can automatically display them like that (code folding).

The C# version is about the same length:

    public Foo Foo {
        get { return foo; }
        set { foo = value; }
    }
Also, you don't have to write the get/set methods yourself. You hit a few keys and your editor generates them.
electrum··on How breakpoints are set
Some platforms such as the JVM have a built in debug interface: http://docs.oracle.com/javase/8/docs/technotes/guides/jpda/a...
electrum··on Is Facebook’s Massive Open Office Scaring Away Developers?
There are several types of headphones in the free IT vending machines:

http://fortune.com/2011/07/06/facebooks-vending-machines-a-c...

https://www.youtube.com/watch?v=YAjChZ3gyps

electrum··on Search Ads
This was actually the original idea of pay-per-click search ads. GoTo.com was founded on the idea that paid listings would be of higher quality and relevancy, because websites that pay more are likely better sites.

The idea has some merit: you can't spam the search engine with completely irrelevant ads, because users will click them and thus charge the advertiser, but they'll quickly leave the site because it isn't relevant to their search.

Modern pay-per-click (PPC) does yield management and ranks ads based on the click-through-rate (CTR) multiplied by the PPC. So if you create irrelevant ads that no one ever clicks on, they'll stop being shown in favor of more relevant ads with a higher CTR.

electrum··on Search Ads
Facebook Atlas has multi-touch attribution: https://atlassolutions.com/insights/measuring-business-resul...
electrum··on I Am Sam Altman, President of YC Group. AMA
Planet Money had a good episode about this: http://www.npr.org/sections/money/2013/06/25/195641030/episo...
electrum··on JRE 8 needs more codecache than before
Codecache is for compiled code, so it doesn't necessarily correlate to the original program's source code size. You can have the same methods inlined in many places, load the same classes in multiple class loaders (which means they are separate classes to the JVM), generate code at runtime, etc.

For example, Presto is a SQL query engine that generates code for each query (a SQL query is effectively a program), so it can need a lot of codecache depending on the query rate and concurrency.

electrum··on The GitHub GraphQL API
Before GraphQL, the public Facebook APIs had FQL, which provided a SQL-like language that allowed doing server-side projections and joins:

    SELECT uid, name, pic_square
    FROM user
    WHERE uid = me() OR
      uid IN (SELECT uid2 FROM friend WHERE uid1 = me())
electrum··on Bay Area Startups Find Low-Cost Outposts in Arizona
> no brand ever wants to be known as the low cost leader (we know this is never sustainable)

I think Walmart would disagree with you on both.

electrum··on Rust: The New LLVM
The JVM, especially with Graal and Truffle, would also be a good fit: https://medium.com/@octskyward/graal-truffle-134d8f28fb69
electrum··on moreutils
You can use Perl in sed mode via "perl -pe" as a more portable replacement for sed.
electrum··on Tesla Makes Offer to Acquire SolarCity
Three companies: SpaceX
electrum··on Torus: A distributed storage system by CoreOS
Above script with correct formatting:

  qemu-img create -f qcow2 f.img 1G
  mkfs.ext4 f.img
  modprobe nbd || true
  qemu-nbd -c /dev/nbd0 f.img
  mount /dev/nbd0 k
  killall -KILL qemu-nbd
  sleep 1
  ls k
electrum··on 85 percent of Facebook video is watched without sound
Website: https://www.facebook.com/help/1406493312950827

App: https://www.facebook.com/help/ipad-app/1406493312950827

electrum··on When Full-Disk Encryption Goes Wrong
This story is about full-disk encryption going bad, but it could just as easily be the hard drive dying, or another software bug that corrupts the disk.

If you have a Mac, get an AirPort Time Capsule. This gives you automatic, hourly backups. The importance of automatic cannot be overstated. If you have multiple Macs, they can all backup the same Time Capsule.

You can save a little money using an external hard drive, but how often are you (or your family members) going to remember to plug it in and run Time Machine? Once a week?

electrum··on AWS X1 instances – 1.9 TB of memory
Bad code is bad code, no matter what language it is written in.
electrum··on Apple stops support for WebObjects
Note that this is from early 1996, when Steve Jobs was CEO of NeXT. Apple didn't acquire NeXT until nearly a year later.
electrum··on Why a Logging Framework Should Not Log
java.util.logging can be bridged into SLF4J using the jul-to-slf4j bridge.
electrum··on Writing a dynamic x86_64 assembler in Scala
For a more complete x86 and x86_64 assembler for JVM languages: https://github.com/jnr/jnr-x86asm
electrum··on A smart plug to monitor your router and automatically reset power if WiFi fails
The Apple AirPort is one such router. It's expensive but high quality. I get great reception through walls, outside, etc.
electrum··on Segfaulting Python with afl-fuzz
That's interesting, because bytecode verification is extremely well-defined for the JVM: https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.ht...
electrum··on Golang dev.ssa branch merged into tip
According to Wikipedia, SSA is used extensively by GCC, LLVM and every major JIT: https://en.wikipedia.org/wiki/Static_single_assignment_form#...
electrum··on Unscrewed: A Story About OpenBSD
The networking hardware that Facebook builds uses ASICs: https://code.facebook.com/posts/717010588413497/introducing-...
electrum··on Unscrewed: A Story About OpenBSD
Facebook builds their own networking hardware (which runs open source software):

https://code.facebook.com/posts/843620439027582/facebook-ope...

electrum··on IBM ported Go to s390x mainframes
GitHub should allow you to choose which file to use as the readme, just like they allow you to choose the default branch.
electrum··on IntelliJ IDEA and the whole IntelliJ platform migrates to Java 8
You can also buy support directly from Oracle: http://www.oracle.com/us/technologies/java/standard-edition/...

From the above site:

* Direct access to secure versions of older releases of Java SE via My Oracle Support

* Rigorous and on-going regression testing and fixes for EOL’d versions of Java SE

electrum··on Yavide, a Modern C/C++ IDE
Take a look at the refactorings available in CLion: https://www.jetbrains.com/clion/features/code-generation-and...

Refactoring tools are incredibly powerful. For example, renaming a class method "foo". You can rename it yourself with a text editor, but now you have to manually update all the callers. You could try using search/replace, but what if several unrelated classes have a "foo" method? How do you only change the correct method calls? The IDE refactoring tool does this automatically.

← PreviousPage 4 of 9Next →