Preferences

valarauca1
Joined 5,484 karma
See things I wrote? github.com/valarauca

Screw diamonds: legacy systems are forever.


  1. apple does for a few things
  2. I've switched to DDG and I've hardly looked back. Google's search has been seriously declined in quality. Most search operators [1] are no longer supported. Even those directly in the "tools" menu don't work.

    For example if you search "Nothing Can Stop Google. DuckDuckGo Is Trying Anyways site:medium.com", and set a custom date range to sometime last year. You'll see results which state this blog post was posted in 2018-October-31 for example, or which every date you prefer because I assume they just fuzzily fit the post date -into- that range. You can make google tell you this blog post is 2+ years old.

    The Google.com I found useful in the early 00's even had document qualifiers so I could search for strings, but filter to just PDF's, or HTML, or JPG's. Now I have to pay for these features via a Google App-Engine private search instance. It just feels like having somebody spit in your face. When features were free, but they quietly became pay-to-play without zero warning.

    [1] https://bynd.com/news-ideas/google-advanced-search-comprehen...

  3. RHEL is free (use CentOS or Fedora)

    Support is not free. If you want software updates, security patches, bug fixes, or somebody to call when shit hits the fan you pay Red Hat.

    If not CentOS/Fedora use the same source codes

  4. For High Throughput compute, and cache correctness. Here are the primers I can give. None of these are required. Strong langauge, cs, interpersonal skills, team inter-interoperability, and commitment to quality (via unit and integration testing, and skill working with liners) can get you a lot further.

    The resources I'm linking are supplementary to the above, and you'll likely encounter them in the wild. But they'll help you build a base of knowledge, and give you terminology to search for, and work with.

    - What Every Programmer should know about memory: https://people.freebsd.org/~lstewart/articles/cpumemory.pdf

    - Cache Obviousness: https://www.youtube.com/watch?v=bY8f4DSkQ6M (the suggestions, and terminology are important)

    - Parallelism: (This is a good primer, there are a lot of complementary posts linked on the site) https://preshing.com/20120612/an-introduction-to-lock-free-p... https://preshing.com/20120913/acquire-and-release-semantics/

    - If you plan on working with linux these is an excellent reference: http://man7.org/linux/man-pages/dir_section_2.html remember there is no magic in Linux, everything eventually has to go through a system call. So if you learn the systemcalls, you can can learn how things work :)

    - Fog's optimization resources are awesome: https://www.agner.org/optimize/

    - MIT courseware: https://www.youtube.com/watch?v=ytpJdnlu9ug&list=PLUl4u3cNGP... https://www.youtube.com/watch?v=HtSuA80QTyo&list=PLUl4u3cNGP...

    - This cheat sheet is worth committing to memory: http://www.bigocheatsheet.com/ the reference links are also great for building up knowledge

    - I highly recommend CMU DB open course ware: (intro) https://www.youtube.com/watch?v=vyVGm_2iFwU&list=PLSE8ODhjZX... (advanced) https://www.youtube.com/watch?v=poEfLYH9W2M&list=PLSE8ODhjZX...

    This should give you a good primer on Concurrency, and DB's. For networking likely a basic TLA+ certification class will be 99% review, but for the things it isn't will offer great insight.

  5. Not necessarily true.

    C89 only requires that static values be initialized.

    A modern C standard (section: 6.7.8(10)) requires static values be initialized, but what the value is initialized too be _technically_ indeterminate.

    There is the guide line given that integers must be zero, and pointers be NULL. But if a static storage class isn't consisting of purely integers, pointers, or (fixed sized) structures, arrays, and unions who's elements can recursively reduced to integers or pointers. Then the standard says the initialized value is indeterminate.

    While relatively straightforward, there is a few gotcha's.

  6. The only reason I'd seriously consider upgrading is if they fixed the typing speed. The input latency on iPhone has just _horrible_, and I know after another iOS update it'll be just as bad.

    I taught myself to touch type at about ~80WPM with my thumbs, and how I have this bad of habit of typing a full google search query, and just staring my phone for 90seconds until all the text magically fills in and my phone shakes with haptic feed back that should've occurred nearly 2 minutes ago.

    It is such a cheap experience I had to turn haptic feedback off because its not even remotely synced to touch inputs.

  7. 10 years ago there was less file system integration, user land virus scanning, kernel level virus scanning, os-hooks, OS-compatibility re-direction, and 32/64bit compatibility checks.

    This was mostly added during NT6.0 era, which occured ~12 years ago. VISTA was the first OS using NT6.0 and VISTA was VERY much not in vogue ~12 years ago. In fact it was avoided like a plague as of 2008 (unless you were using 64bit, and had >=4GiB of RAM)

    So many were using Windows-XP 32bit, or the NT5.2 kernel. Even those with >=4GiB of RAM were on Windows-XP 64bit, as VISTA had a ton of driver problems.

    NT6.0 didn't catch until Windows7 and NT6.1

  8. I'd really like to thank Cyan for their contributions. `zstd` and `lz4` are great. I'm pretty much exclusively using `zstd` for my tarball needs in the present day as it beats the pants off `gzip` and for plane text code (most of what I compress) it performs amazingly. (shameless self promotion) I wrote my own tar clone to make usage of it [1].

    It is nice to have disk IO be the limiting factor on decompression even when you are using NVMe drives.

    [1] https://github.com/valarauca/car

  9. GNU/Xenix is making a come back !!

    for those you who don't remember Xenix was Microsoft's UNIX that it marketted prior to releasing DOS. Originally the idea was Xenix was the multi-user OS, DOS was the single user.

  10.     get their office suite to LibreOffice
    
    I'm with you until that. I'm a die hard FOSS advocate but Microsoft Office is seriously a great tool. I've yet to find a replacement for Excel.
  11. `cargo new $project_name` literally generates a hello world program so it is misleading to say you need to understand ownership to write `hello world`.

    That being said ownership is rather hard, but liberal usage of `.clone()` can get you pretty far.

  12. I don't see how/why?

    Generally speaking it is exceptionally rare for a star to point directly at us. This is to an acurracy of millionth's of a degree, as the straight line travel across interstellar space is massive. So getting hit with a GRB is like winning the interstallar lottery.

    Secondly, if you cannot control it, or influence it. Worrying about it is just fantasizing. Humans tend to assume overly dramatic events are more likely then they actually are.

  13.     I think if more people took the time to understand
        them and practice writing them (when appropriate),
        they wouldn't have such a stigma.
    
    I think this is part of the movement to a more "ide/web centric" development model. The chances to interaction with regexes on CLI are endless. Grep, git-grep, vim, sed, etc. Even bash has some limited regex integration. As a person who still does most their development in the cli with vim regexes are a massive part of my work flow I actively use them several times per day.

    When people move away from this model there are a lot opportunities to practice regexes. I've noticed this my own workflow when working Java-centric languages (who's IDE's often have poor regex integration).

  14. 1. Blizzard uses torrents where people downloading the patch also act like P2P seeders (you can control the download/upload speeds).

    2. Assets are bundled via the zip like mechanism, and individual "zone maps" are separated by hard loading screens. If you travel from 1 continent to another in WoW you get a had loading screen as assets are unloaded, and reloaded.

    3. Which continent you log into is the only one you _need_ data for, so as you log in the client can prioritize certain assets higher then others.

    4. Blizzard/Activision have a lot of experience with this. In 2008 blizzard had 10mil + players downloading 4GiB+ patches within 24hours so they've had a while to tune and make adjustments as this is part of their core customer experience.

    5. Large publishers don't general optimize for this, because the people who whine about it largely already gave you their money and aren't likely to refund/return (in some avenues it is impossible).

  15. I built a similar model over the weekend: https://twitter.com/valarauca1/status/1061362369702445056

    Used an existing box fan. I had to buy duct tape ($3) and the filter I used one rated for 0.1micron pollen and viruses cost me $17 (rounding up after tax). I cut up a plastic safeway bag to make the seal around it. Seeing as most smoke particles is around 2.5-.5 micron I figured it'd be okay.

    I threw this together at about 7am on Saturday after I woke up coughing my lungs out at 6am (I live in the bay area). Just a quick trip down the the Homeless Despot to get the parts and throw it together.

    All things consider it works great. The air in my apartment is easy to breath, but if I leave without a respirator (even today) I cough uncontrollably.

    ---

    As of Tuesday evening it has been running for 4 days straight (no overheating). And has started to become noticeably brown. Needless to say I'm thankful for it.

  16. If you are interested in learning more the general name for this drug (outside of the US) is ARX-04.

    The maker has some data that compares it to Fentanyl [1]. Their numbering states that is closer to 100x, and crosses the blood brain barrier in around 6 minutes.

    [1] http://www.acelrx.com/technology/publications/arx-04/MHSRS%2... here

  17. large corporations often block users from setting executable permissions on files they created as a way curbing malware.

    Or at least I've encountered this in my career.

  18. dog it’s a PHP shop, nobody re-uses code
  19. this challenge cannot be circumvented.

    Division of tasks, and specialization naturally trend to hierarchical organization for the same reason divide and conquer algorithms are so efficient. Separation of concerns is powerful.

    There is much different of 5-6 shoemakers picking the same person to handle their finances so they can focus on making shoes. But, how many shoe makers can offload their finances until you have a bank?

  20. Not really.

    The fundamental limit of clock speed is power draw. As clocks increase the wattage ~ frequency relation goes from

         frequency = Constant * Power Draw
    
    It starts becoming

         frequency = Power Draw * Power Draw
    
    As you start getting >3GHz so while we can make processors that run >5GHz. There just aren't applications that benefit a lot from it.
  21. The correctness I'd argue is worth it.

    My company has been shipping a service in rust for >1 year and its really nice knowing when the tests pass, and the app gets deployed it'll do exactly what it needs to in perpetuity. Once tests pass locally pushing to master doesn't require a second thought, if it ever does it means local tests should be updated.

    While there is a non-trivial spinup learning to work in the language, and unlearning bad habits from other languages can be frustrating (especially coming from C). The performance, without losing correctness is wonderful.

  22. So the node scaling was standardized (before ~28nm). It very literally meant MOSfet density (as 28 nm was 1 MOSfet + gap for the next MOSfet). The IEEE had a road map about what to expect out of X sized components, and when those components would be out base on historical data.

    But when we hit 20/18/16/14nm that went out the window and it became a marketing term, not so much a literal description. A lot of this was driven by moving to FINfet's which are really MOSfets, as they have lower leakage at smaller sizes, but they also aren't square which makes generalizing a singular node to density a bit wonky.

  23. I wonder when the rapid erosion of Intel's technical lead in fabrication technology be represented in decreasing evaluation of its market cap.

    It was rumored TSMC's 7nm wouldn't be the same as Intel's 10nm. But if they reach ~5nm then they'll likely be knocking on Intel's 10nm door. Combined with the double whammy of 7nm Eypc servers from AMD it seems like Intel's technical offerings are rapidly getting commoditized by the rest of the market.

  24.     if consumers had to pay full freight on their dies prices
         would be several times higher than they are. 
    
    This is doubtful, Intel's margins are amazing as they're fully integrated vertical monopoly. They make the wafers, own the fabs, cut their own masks, etc. Very literally sand comes in one end, and chips come out the other.

    The fundamental processes of producing an equal die space SoC as a Xeon on the same (node) is likely roughly equal cost (or I imagine the fabs as a service would go out of business). So saying Intel -needs- the consumer market to subsidize their server line is a total lie.

    Intel puts an extreme markup on their server class processors, and a milder mark up on the consumer segment

  25. Binning.

    So you do all the lithography, and vapor deposits on a wafer. That wafer has ~100 physical processors on it (100 just to make rounding easier). You split them (into individual chips), and you start testing.

    Say on ~10 Hyper Threading, all the cache cells, and all the magic virtualization stuff works. These become some pro-sumer Xeon type deal.

    On another ~10 Hyper Thread, and all cache cells works. This is your i9's

    On another ~30 no Hyper Threading, and only some cache cells works. This is your i7's

    The rest there is no Hyper Threading, only some cache cells work, and wow only 4 physical cores work. This is your i5's and i3's (kind of).

    The idea is yeah, whole parts of a CPU are defective, or unperforming. So they just get disabled and "binned" as another lower tier CPU of the same micro-architecture. All of these get solid at >100-5000x markup to offset the $50bil+ in R&D Intel spends each year. Yes their margins, are... amazing.

  26. Before Google+ came out Facebook had "lists" where you could group friends to "lists" and make posts only visible to certain "lists". I used the feature heavily but come ~2013 I stopped using Facebook completely so I don't know if they have the same feature.

    It was nice for keeping my World of Warcraft friends separate from "Family" and "College" and "Highschool" etc. As there were things I'd maybe want 1 group to see, but things I'd rather others didn't.

    After ~4 years I just started unfriending people as it was easier then bothering to curate posts for specifics lists, and soon after I just deleted the account as I could SMS-text the people I wanted to chat with easier then bothering with facebook.

  27.     Bump allocation is efficient and fast in single threaded
        programs but almost all Go applications are multi
        threaded
    
    This operation doesn't require locks, just an atomic add, and a branch to ensure you aren't allocating past the end of the current "arena" where memory is being allocated. Trivial optimizations are providing thread-local allocation arenas which remove the need for longer pauses as locality is improved (less cache coherence protocol work for the silicon).

    OFC these schemes require some kind of relocation, but they make allocating blindingly fast. The only way you get faster is by pre-faulting the arena, and hinting for the _next_ chunk of the arena to be loaded in L1/L2 cache.

  28. Phrenology 2.0

This user hasn’t submitted anything.

Keyboard Shortcuts

Story Lists

j
Next story
k
Previous story
Shift+j
Last story
Shift+k
First story
o Enter
Go to story URL
c
Go to comments
u
Go to author

Navigation

Shift+t
Go to top stories
Shift+n
Go to new stories
Shift+b
Go to best stories
Shift+a
Go to Ask HN
Shift+s
Go to Show HN

Miscellaneous

?
Show this modal