I am not that good with computers but I’m educated enough to know that YouTube videos that talk about the heap growing towards the stack are about a quarter century out of the date.
I can remember a time with Macintosh System 7 when you could set the amount of memory available to each program, which in turn would define how large the heap would be. Nowadays when you call malloc, the Memory Management Unit allocates heap space whereever there is free space of the requested size – the heap is no longer necessarily consecutive.
Memory management units are pretty smart with protected memory. If you are an ordinary process and you don’t have elevated permissions and try to read or write to a section of memory not associated with the process the memory management unit will raise an exception, deny the access and possibility the operating system will kill the process.
Now it is accurate that memory management units don’t provide for true garbage collection until a process exits and with many languages such as C or C++ things remain on the heap until they are manually deleted or the process ends. But that is done for reasons of speed and memory – if you have automatic garbage collection than you have to track when every pointer is destroyed.
I just wish beginner videos on dynamic memory allocation were more truthful. π€₯
I’ve been really struggling to master the R language. While I’ve done a fair amount of reading about it and studying up watching YouTube – I find the principles simple to understand but sometimes the coding isn’t easy with all the werid operator symbols and function names.
ggplot2 for R clearly is the superior graphing utility compared to the somewhat broken implementation of ggplot2 on python as plotnine. There is matplotlib and the prettier version of it using Seaborn but clearly nothing beats ggplot2 on R. That said, I really think PANDAS is superior for data wrangling to dplyr and tidyverse on R – the R pipeline is fine but the way it is implemented is clumsy to type and its just not as fast or flexible as PANDAS.
It’s not difficult in Jupyter to chain PANDAS and R together although it can be messy to code in both languages. But I’m still learning and not really all that happy with the quality output of my graphs but they are getting better.
Since getting into PANDAS and Python more generally, I’ve been thinking about getting more books about computer programming and learning more languages. Having learned most of the common data structures, functions, classes and other methods like overloading in several different languages, learning new ones really isn’t that much of a challenge.
I want to learn the “R” language next as I think that is an important one for data processing and visualization. I know 538 Politics uses “R” extensively for its models along with PANDAS and Plotty. I also want to learn more about Plotty, D3 charts and other ways to visualize data. If I don’t move the blog charts to D3, I certainly want to at least use the latest version of Chartjs with Zoom. I don’t see any books in the library on this but I bet there are many good videos and tutorials online.
Sometime this winter I want to also get the book I saw at the library on Java. I‘ve never had much of an interest in coding in Java but I think it would be a good language to learn, even though most Java apps with its virtual machine always seem slow and clunky. But I think learning it would make me a better developer.
I’d also like to learn more about GUI programming. I know a bit about the Qt API by writing code using PyQt with QGIS plugins. But I’ve never done a lot of GUI coding because I don’t have a lot of use for it. Yet, I think it’s a good skill to have as it really educates you on threads, slots and signals. Maybe Android programming too.
I have written my share of Applescript, Hypercard, PERL, PHP, C, C++, Javascript and Python over the years but there is a lot I don’t know. I’ve studied an dabbled a bit in Assembler, COBOL and FORTRAN. But I’m not a professional developer but I want to become more knowledgeable about coding, better understanding the core concepts. I’d also like to learn more about documenting, Github and better code practices.
I like camping where I don’t have cell service βΊ
I find it increasingly desirable to get away where I don’t have any cell reception. As much as I try to minimize my social media use and even stay off the email when I’m home and have reception there is always such a pull to play on my phone.
Samsung is among the brands that will release DDR5 RAM this year — and it seems the manufacturer has an industry- first in the works. During Hot Chips 33, an annual semiconductor disclosure event, Samsung revealed the development of its first DDR5 512GB RAM module. This new memory module is said to offer an up to 40% increase in performance over DDR4, combined with double the capacity and a lower voltage.
The announcement of the new massive memory stick was accompanied by more in-depth information about its architecture. DDR5-7200 is going to be a 512GB module made out of eight-stacked DDR5 dies. The dies are said to be connected with the use of through-silicon via (TSV) technology. The upgrade to eight dies is significant. It shows a marked improvement over DDR4 memory, which was always limited to four dies even in the best RAM available.
And I thought my laptop was the shit when it came with 12 gigabytes of memory -- I still don't rarely use all of it except when using the largest tasks with QGIS or maybe PANDAS but even that is rare.
American adults on average spent more than four hours on their phones in 2020. Can we reduce our phone usage if we want to? Some recent research says yes.