HNHacker News
TopNewBestAskShowJobs

danmg

462 karma · joined April 19, 2018

Hey there, Dvorah U. Altemanstern here
submissionscomments
danmg··on Fortran Compiled to WebAssembly
Fortran doesn't have pointer arithmetic, and pointers that decay like C. The compiler can be much more aggressive about optimization.

Passing around variable length arrays and arrays with a variable number of dimensions is much easier than C. You don't need to worry about making your own interface around blocks of memory or macros to do this sort of routine thing.

Bounds checking is standard in every Fortran compiler.

Fortran does what its name implies: FORMula TRANslation of math code without a lot of noise.

Yes, 50 year old Fortran code can be hard to read. But, there are tools that can statically 'modernize' it if you really need to do maintenance on it.

danmg··on Judge temporarily blocks U.S. ban on TikTok downloads from U.S. app stores
The Fox News generation seems the most malleable to propaganda.
danmg··on Windows XP source code has leaked
If someone can successfully build this jalopy, it would be nice to get a version compiled with optimizations for modern processors (>= core2). Maybe run the address/memory sanitizer over it.
danmg··on The BeOS file system, an OS geek retrospective (2018)
Has any other filesystem added in i-node arbitrary attribute tags? This would be invaluable for collections of documents, and would make most library managers like calibre or tmm redundant.
danmg··on Red flags I saw while doing technical interviews
When I'm interviewing people I'll ask a fizzbuzz level question. Not fizzbuzz itself though. I'll pick something that just has them doing some basic operations with strings and arrays like reversing the words in a string.

I'll give an easy question, but I'll have them do it ssh'd on to a remote machine. I'm more interested if they know how the environment works and how much coaching they need to navigate around.

danmg··on Apple Tried Charging the Price of a New MacBook Pro for a Screen Replacement
I'm considering HarmonyOS for my next phone.
danmg··on Google says its carbon footprint is now zero
Reminder: Tesla is only profitable because it sell carbon tax credits to makes of ICE vehicles so they in turn can produce the less efficient cars which are basically just status symbols.
danmg··on Disrespectful Design – Users aren’t stupid or lazy
The Windows 95 MFC style toolbars and menu, and everyone who inspired and cloned that, were probably at the peak of general UX usability. If you had to take an MFC application and "modernize it" a lot of the functionality that would be staring right at you on the main screen of the application would be buried 10 menus deep in a hamburger menu.

Doing something, other than the most frequently used operation which would be on the application's main screen, now requires remembering which path it is in a series of menus which cannot be on the screen at the same time.

danmg··on Redox: Unix-Like Operating System in Rust
What alternative data structures do you have to use inside the kernel to provide good performance and satisfy the borrow checker without writing a lot of unsafe code?
danmg··on TikTok reveals details of how its algorithm works
How TikTok's "algorithm" works is pretty obvious if you've spent any time on there.

It learns what you like by how much of a video you watch and how you interact with it, and it establishes some kind of weighted feature vector based on hashtags used in the description, words used in the comments, text drawn on the video, audio background, possibly some audio transcription of words said, if you commented on it, if you forwarded it to a friend, and so on. There may be some network based recommendations, based on who you follow but those seem to be weighted very weakly, and that makes sense if you're trying to keep the platform from getting botted.

It also seems to do some non-dominant sorting to keep from only showing you things from the same type of video.

Facebook's competing short video service is terrible in comparison. It only wants to show me Trevor Noah clips, and things tangentially related to things I may have "Liked" 12 years ago.

danmg··on Parents got more time off, then the backlash started
I grew up as a latchkey kid from the time I was old enough to go to school.

I honestly don't see the point in bothering with childcare if they're old enough to be in school. They've either got homework, they can engage in some free play around the neighbourhood, or they can just play on their own. Paying someone hourly to watch over them as if they were made out of glass is just going to infantalize them further.

danmg··on Massacring C Pointers (2018)
These books are available on libgen if you want to see them for yourself:

https://b-ok.xyz/book/2368114/60fa20 https://b-ok.xyz/book/2368115/f2ecc8

danmg··on EMule 0.60a
>To this day I am wondering if eMule would still have an active userbase if it had some sort of mechanism that (via opt-in) allowed clients to download from trustworthy „friends“ only and pipelined those downloads from the „public“ ed2k network through these friends and their friends' networks. Yeah, may be a bad idea but to my knowledge never really got explored.

This is what RetroShare does.

danmg··on Level 3 Global Outage
packetheads irc
danmg··on Knuth versus Email (1999)
It was 1990. No one was really ordering stuff over the internet yet. Commercial commerce was still sort of a taboo since, by and large, it was funded by public research monies.

Now? He probably has some webmail account so he can sign up for online banking, utility accounts, and all the other mundane stuff people do online which would have been science fiction back then.

danmg··on Is TDD Dead? (2014)
One of the things I got out of learning Haskell was learning about QuickCheck.

Now, my preferred testing method is to write pure functions attach generators for the given input types, assert invariant properties about them, and then let QuickCheck fuzz my functions where it will try to find a minimal example that breaks the given invariants.

The remaining stateful portions of code are tested through integration tests.

danmg··on Why People Become Internet Trolls
Very lazy analysis. Arm chair e-diagnosing everyone who doesn't exclusively use the internet to send cat pictures and pictures of their lunch as having a dark triad personality disorder is just as abusive as the 'trolling' he hopes to prevent.
danmg··on Bringing Tensor Cores to Standard Fortran
Yes. But this is not new. These features have more or less existed in this compiler since it was PGI Fortran.
danmg··on PyIDM – Python open-source alternative to Internet Download Manager
Kind of weird how in the 'About' section he forbids you to use this to download porn.
danmg··on Celebrate Woz's 70th
Jobs is the one who killed the Newton when he returned.

Apple could have launched in iPhone like product years ahead of when they did if they kept that branch of the company afloat. That would have been a real 'visionary' move. Instead, they were forced to differentiate themselves in a crowded marketplace by emphasizing little design flourishes and style.

Job's only real contribution is managing to gaslight (a.k.a, his "reality distortion field") the entire industry into thinking he had any real insight or ability beyond that of a typical middle manager with a cluster-b personality disorder.

danmg··on Celebrate Woz's 70th
It was a dead end because it was intentionally made to be an inferior product.
danmg··on Celebrate Woz's 70th
No.

It would have been exposed as being a dead end with no backwards compatibility. The GS was essentially a completely different architecture from its predecessors anyway. Compatibility was maintained with the Mega2 chip. Apple wouldn't have been stuck for a couple of years with barely any software on their "flagship" product.

The GS would have killed the Macintosh if they raised the clock speed, gave it some higher video resolution modes, and developed something like the Macintosh Toolbox in ROM for it.

danmg··on Celebrate Woz's 70th
It was intentionally neutered so as to not complete with their "Flagship".
danmg··on Celebrate Woz's 70th
Computer companies getting into consumer electronics is a result of average consumers wanting devices that behave more like and interact with computers. It's not the result of some messianic insight that no other company had.

We can't speculate on what a Apple Prime would have done without Jobs. But we do know that his single mindedness about making arbitrary changes cost them several years in the 80s and led to the slump in to the 90s.

danmg··on Celebrate Woz's 70th
Jobs created the initial problem by undermining the Apple 2 GS.
danmg··on Google wants me to shut down my FOSS webapp. What shall I do?
An email is not real process. Don't bother responding.

If they do send you something first-class mail, request a well-formed DMCA notice which details exactly the exact content in question with specific links.

danmg··on Photos from Bell Labs Datacenter in 1960s (2019)
The different components would make different electromagnetic interference patterns. You could tell what the computer was doing (or not doing) from the static.

This is also how some of the first computer generated music was produced.

danmg··on Overriding C++ virtual functions at run time
In Java, you can write an agent and intercept when the bytecode for a class is loaded by the JVM by the Class Loader.

ASM is just a bytecode reader/writer/visitor library that can then modify it. You could also just do it statically by having the bytecode you want injected ready to go in an array or resource.

   if (className.equals("a/b/c/d$e"))
       return fixedClassBytecode;
   else
       return bytecode;
It's possible to create custom loaders (e.g., loading a class from an encrypted zip-file, or one that creates custom bytecode on the fly) and things which are trying to obfuscate what they're doing will have custom loaders, but this is a choke point that every class that's read in and instantiated must pass through.
danmg··on Show HN: High performance X11 animated wallpapers
You can use the binaries from xscreensaver as moving backgrounds. If you execute them directly they'll write to the root window.

Example:

   $ /usr/lib/xscreensaver/moire2 -root
danmg··on Del.icio.us
If you find yourself binging it more than once a week, bookmark it? Crtl-B brings up Firefox's bookmark sidebar and you can just search it there as immediately.
← PreviousPage 2 of 14Next →