HNHacker News
TopNewBestAskShowJobs

progmetaldev

699 karma · joined March 14, 2021

I am currently a senior web developer, with an interest in all aspects of development, including non-web based projects. Here to learn and share, with over 30 years of development and programming experience.
submissionscomments
progmetaldev··on The Day the Muse Died
For myself, even just going from doing art for myself, to helping out a friend with a label for his brewery made me see the other side of things. He had a specific idea in mind, which was different from mine. I figured out quickly that creating art, and then doing it for business, are far different things. Luckily in the end, he saw another piece of art I had been working on for myself in between his label art, and he chose that. I got to show my art and get a small amount of publicity, and decided that I will never create art for anything other than myself again! This was also with a friend, so I didn't have to hear all the brutal truth that would come with working with a client.
progmetaldev··on Math Academy pulled me out of the Valley of Despair
As someone who tried to learn CS properly, as far as deep fundamentals, I was told by advisors that me being terrible at math would stop my career. I switched to a CIS degree, which at my local university was learning networking and Microsoft Office mostly. I dropped out of school and went into sales, while still having an interest in software. I started to pick up software development on my own, and found that I loved it even more without worrying about math. I ended up going to a "career" school, which would have turned out terribly, but I had a professor that taught all of the important programming and CS classes (there weren't too many CS classes, just fundamentals of OOP/data structures and algorithms).

All of this to say I have been writing software professionally since 2006, and while I do struggle with the thinking behind functional programming and math-heavy subjects like graphics programming, I have written lots of business software that has brought me personal satisfaction. I would really like to understand calculus better, but I'm not sure if it would actually do anything for my skills in programming. If math is holding you back, think about whether you need the full breadth of CS knowledge, or if you just enjoy writing software.

I became better at code organization, making code maintainable and simple enough to understand unless performance was an issue, and general people skills. I can understand why math and software are so close to each other, but at the same time, I don't think it needs to hold you back unless you really want to go into a topic that is deeply intertwined with math. It took me four times to get past pre-Calculus, and once I did, I realized that I just did not enjoy that type of math and didn't need it to build useful software (as in makes people's lives easier and/or generates profit for business) that I also find fun to create.

progmetaldev··on Apple's Software Quality Crisis
To be fair, Windows really had the same type of issues going from the old Control Panel to Settings. I still get large delays for some of the screens in Windows Settings.
progmetaldev··on Clean Code vs. A Philosophy Of Software Design
One of the best things I could do for myself is to go back in time and tell my younger self not to care so much about the "right" design pattern, or the perfectly DRY way to represent a piece of code. I was definitely my worst enemy for a long time, because I thought SOLID and the GoF design patterns were more important than writing code that is easy to understand without hopping across multiple files in case one day in the future your system needed to do something totally different with a new database or filesystem, etc. I started to look for places to add design patterns, rather than letting them develop naturally. Most of the software I built had no need for such heavy abstraction and complexity, and I've only ever had to switch database systems twice ever in 20 years, and the abstraction did not help reduce time or complexity all that much in the end. It definitely wasn't worth the up front planning compared to just rewriting the sections that directly handled the database.

Maybe it's a right of passage to burn yourself badly enough over-architected solutions, where you finally start to understand you don't need all the complexity. Write the code for humans, as simple as you can. Keep large performance issues in mind, but only code around them when they become a problem or are extremely obvious. If anything, it's helped me to steer junior developers away from complex code, while encouraging them to try it out in their own time. Go ahead and figure things out on your own, but let's not do it on a shared codebase, please?

progmetaldev··on Privacy Is Not Dead: Beware the All-or-Nothing Mindset
I agree with you, but I think that having fewer smaller players makes it easier for bigger ones to get away with far too much. If smaller players existed, they could fight to keep the amount of data extracted smaller so they were able to continue existing. Of course, this is a dream, but worth thinking about (at least in my head as a though experiment on keeping privacy more constrained so bigger companies didn't have as much to work with).
progmetaldev··on The 8-Bit Era's Weird Uncle: The TI-99/4A
The difference is definitely Assembly. You could dip into heavier memory management, and control every aspect from that low level.

I got on to my local public library (in the US) with an 800 baud modem on the Atari 8-bit. There was barely any security, which was all bypassed by "password". I could check out books for individuals, alter the amount they owed in late-fees, or erase that someone had a book and then erase that the book ever existed. I have always been more of a white/grey hacker, as far as I don't always report an exploit, but I don't abuse it either. Now that I'm older, I am happy to report exploits confidentially.

I quickly found the BBS in my area were not as usable at 800 baud, and moved to a 286 with a modem slightly higher baud. Until my family got a 386, it was a bit slow, but I was still sitting there like an addict consuming my digital fix! Even in the mid-90's I was amazed at the speed of modems coming out. I believe in 1997/early 1998 I had saved enough money to buy myself my own PC, and had a faster modem. I'm not sure what the speed was back then, but it was good enough to play Quake 1. I started to lose touch with the low-level of computers around that time, but also saw the value in higher-level programming. I think having understood lower-level computers in my early years helped me to understand things like memory management in current days, where a lot of my co-workers have no concept of running into memory problems until they hit a wall.

progmetaldev··on The 8-Bit Era's Weird Uncle: The TI-99/4A
This seems like an expensive hobby, but one that chases that feeling we first got off our first system! I often wish that I understood hardware a bit more when I learned Atari 8-bit BASIC, in the late 80's/early 90's, and would have known to keep everything wrapped up in an environment that wasn't humid. I feel the one I learned on, owned by my dad, was probably moved to the basement storage and is completely corroded at this point.
progmetaldev··on The 8-Bit Era's Weird Uncle: The TI-99/4A
I love this story, but not because the teacher had epilepsy! The flashing colors, and ability to draw from the center of the screen to the outer bounds, and showing it happen in real time (since the graphics weren't so fast then) was a huge factor in me getting involved in programming. I started off with Atari BASIC, and my first program of my own was a strobe light, where I could control the speed and generate a random color to display on each "strobe".

Once I saw how fun that was to actually run and show friends (which I think was the big draw for me in the 80's), I created an English to Pig Latin translator, which was more based on an official example, but I remember putting more work into it, including a trigger for certain "bad words" my friends would definitely enter, and giving them a surprise flash and warning. Not sophisticated in any way, just a bunch of IF statements for specific words, then a fall through for anything not matching to be translated.

I used to have a book on experiments using a 6-volt battery, and I got my son one of those 30-in-1 kits, and we had a lot of fun with it. I was more easily able to move from the electronic kit to software with him, having had interest in both, and now he's picked up the software itch.

progmetaldev··on Apple Debuts iPhone 16e
While I'm not an expert, betting on the older model staying at the same price point until after the next model is released is a fairly safe bet, if you don't get an ever bigger discount once the next version comes out in the fall. Unless their own modem fails horribly, it seems they will continue with the new modem on the 17, driving the 16e price down.
progmetaldev··on Privacy Is Not Dead: Beware the All-or-Nothing Mindset
I am somewhere in the middle. If people could see something like Privacy Guides that is trying to be a primary privacy resource, and then look up any advice on another source, it could be useful. People aren't used to challenging something they read when it comes to privacy from a "trusted source", and I think that should be a key part of privacy and security. Try to find other sources, that aren't connected, to back up a claim.
progmetaldev··on Privacy Is Not Dead: Beware the All-or-Nothing Mindset
It's hard to discover how much money is being made off selling user data, and I think this only leads to smaller companies trading in user data to disappear, while the larger players can do more with your data behind the scenes. The larger companies having fewer competitors allows them to spend more of their time on finding ways that are "legal" to track users, ones which are technically in compliance with existing laws. Maybe my way of thinking about the situation is different than yours, and I could also be completely wrong. I am just much more pessimistic when it comes to how much value is in user data (especially as AI develops more), to think that larger players won't do anything they can to collect user data by finding loopholes in the law, or allowing themselves to be taken to court because the laws aren't defined well enough.
progmetaldev··on Umami is a simple, fast, privacy-focused alternative to Google Analytics
That is unfortunate, and seems to be similar to ADA compliance, as far as what is truly compliant and what is not. It seems like it is up to the courts to decide (speaking as an American, I know GDPR is a European law). I try to do as much as possible to keep up to date with ADA compliance and best practices, but when it comes to tooling around scanning for non-compliance, there seems to be differences. I believe that showing that you made an effort to comply is usually enough to avoid a lawsuit, but it would be nice if things like this were spelled out more clearly for those that need to implement these features.

I have recently gone through a conversation with a client that has been told in NY state (in the US) that something similar to GDPR is coming for those that deal with PII. Both the client and the agency I work for have added various scripts to the website for dynamic forms, tracking (Google Analytics), and newsletter functionality. It's at a point where everything that is 3rd party has to be discovered first, then seeing if there is the ability to anonymize everything (either by default, or with a user consent dialog). Even with current laws, it seems intentional to keep things vague.

progmetaldev··on You're not a senior engineer until you've worked on a legacy project (2023)
Apologies for the misunderstanding. Sounds interesting, but saying you can't prove it, and nobody will believe it is a tough sell. I guess I find it hard to believe like others, but you are talking in very abstract terms, and not being able to (or refusing to) give any kind of details sounds like you are trolling or don't realize that your solution does only work for what you work on. I'd say I could be proven wrong, but it seems you don't wish to do anything other than generalize. Good luck to you if you've actually found what you describe.
progmetaldev··on You're not a senior engineer until you've worked on a legacy project (2023)
I understand what you are saying. Obviously the type of development you do is a factor, as well as the way you and/or your team does development. I think others are looking for the one true solution, and you are saying that you have found the solution that works for you, given the way you develop and the constraints you deal with. At least that was my understanding of it. If you are doing embedded development, being thrown into a large front-end development project isn't going to use the same solution.

I have a solution for custom content management systems that usually makes it fairly easy for me to incorporate customer requests without needing to toss out my existing solution and start over. Almost a type of framework built over an existing open source CMS product. I maintain about 90 websites as the only backend developer, and have spent about 12 years now working through various versions of the software to custom tailor a solution that works for nearly all situations I have come across. I don't do front-end development any longer, but I was involved heavily at the beginning stages to make sure both the front-end and backend were flexible and broken apart into modules.

progmetaldev··on You're not a senior engineer until you've worked on a legacy project (2023)
I 100% agree with you, and have used the same technique. Showing juniors that you are also human and make mistakes allows them to be less anxious about learning and trying new things. It also helps to keep them from trying to hide their mistakes which can quickly lead to larger system issues.

Of course, you have to have a culture where making a mistake doesn't immediately lead to being let go or publicly reprimanded. I have definitely learned quite a few things about people and code by helping juniors work through bugs that may not have been so obvious (including occasionally finding bugs in 3rd party libraries).

progmetaldev··on JJ Cheat Sheet
I appreciate you taking the time to write all this out for me! This is really helpful in understanding rebasing, and generally how the commits work.
progmetaldev··on JJ Cheat Sheet
Does this mean that NTFS filesystems are affected, even if using from a PowerShell or cmd.exe window, if you are aware? I use git bash or PowerShell daily, but have only used WSL directly for certain processes I am more familiar with in bash than on Windows shells. I've done quite a bit of text processing in WSL, where I just have more experience in the tooling on Linux/bash shell than in Windows, even though I often write dotnet software that runs on Windows, yet uses the open source dotnet and it could run on Linux with a few changes (like making sure I can access MS SQL Server on Azure from Linux, or run MS SQL Server for Linux - I haven't done this, and the CMS I currently use only supports SQLite for development, but require MS SQL Server for production). I might be able to get away with using SQLite for production by only allowing a single user to make edits at a time, and using heavy caching.

I came from a world of Mercurial, and I would love to be able to commit very often, and then be able to squash all those commits into a single commit. I feel git rebase does that, but I haven't been able to truly grok how to do that without running the possibility of completely destroying all changes I've made. I can't lose a giant feature (which is what I generally build) that may take an entire week to build, because I used the wrong git rebase command. I would love to be able to change an individual file and commit it to compare against new changes, but then pull all of these temporary changes/commits and merge/squash them all into a single commit, in case I need to rollback everything due to some breaking update.

progmetaldev··on Hackers leak cop manuals for departments after breaching major provider
Most likely they are just posting for the "puppygirl hacker polycule", and "So we took matters into our own paws". My guess is that these words were chosen as a joke.

I feel like we are in agreement that taking these manuals, considering nobody was physically hurt, is a good thing. The tactics and policies for law enforcement should absolutely be available to anyone, considering our tax dollars go towards these employees. Transparency is needed in order to help guarantee constitutional rights, as well as to know when individual rights have been violated. I'm not anti-law enforcement, I'm anti-corruption.

progmetaldev··on Rust kernel policy
I probably didn't describe myself well enough. I was under the assumption that there was a Rust middleware to interface with the C API, and some of the C maintainers objected even to this because they feel they will need to be in communication with the Rust maintainer(s). I am not against Rust being used alongside, or even in the kernel. I was just pointing out some of the objections the C developers were stating.

I believe there is a middle ground where everyone can be happy, and firmly believe that the Rust maintainers in the Linux project will keep on top of the C interfaces to know when there will be changes. Going back to my comment, I realize that I presented why the C developer/maintainers don't want Rust, but that is not my own stance. In my opinion, there is enough interest in the Rust for Linux project that acting as though there is only a single maintainer, and if they disappear the entire project fails and all Rust code stops compiling is unrealistic and FUD.

I can see a whole host of problems being tackled, especially in driver development and safety concerns, by using Rust. I feel the C maintainers are acting as if the entire kernel is going to be rewritten in Rust in a timeframe where any of these people would still even be capable of using a keyboard or not suffering from severe dementia.

My apologies to anyone that thought I was pushing for one side or the other, I was only repeating the recent "drama" that I heard was going on, and I respect both sides.

progmetaldev··on The hallucinatory thoughts of the dying mind
Thank you, I have spent quite some time reading the Tibetan Book of Living and Dying, as well as the (English translation) of the Tibetan Book of the Dead. Before I found those sources, I had found the rewritten version found in the Psychedelic Experience by Timothy Leary and Richard Alpert in my youth when I was interested in LSD. There are quite a few parallels between what I've heard from those close to me that were dying, psychedelic experiences of my own and friends, as well as a near death experience I had myself. I have found the amount of memory that can be recalled from the unconscious to be amazing. The "life flashing before my eyes" was something I fully experienced, and I somehow recalled even minor events over 16 years of my life (I was 16 when I had my near death experience).

Whether or not someone believes this to be real or a hallucination, it is still a human experience, and should at least be treated with respect. I think it's perfectly fine to not believe that it is something higher than brain function, but in Buddhism there is the concept of non-duality.

progmetaldev··on Rust kernel policy
Please see this thread, which is where I got my information from. If you have a better source, I would love to read it. I understand that you may be passionate about wishing to have Rust in the kernel, but I was not fighting for or against this. To claim that I am not arguing in good faith (I am not arguing), and then to say that I am ignoring what you've said is the actual argument in bad faith. I also stated to correct me if I'm wrong, but I will believe this thread over a comment that seems to be more emotion over fact (as I fail to see how I ignored anything, and made no claim to be an expert). I would love an actual conversation over this, but only in actual good faith.

Subject: Re: [PATCH v8 2/2] rust: add dma coherent allocator abstraction. https://lwn.net/ml/all/20250108135951.GA18074@lst.de/

progmetaldev··on Rust kernel policy
I personally think Linus is making the right choice here, and not explicitly denying Rust in the kernel. Instead he is delegating it to other high level maintainers to work out the issues and make the decisions on how the integration will go. He is already so heavily involved in day to day operations in the C code, I can't imagine him being able to take on the burden of also needing to negotiate pulling in an entirely new language.

From my understanding, the current maintainers are worried about being stuck with Rust code should the Rust maintainers leave the project, and Linus is requiring that all code builds that makes it into a release (which includes the Rust code).

I am not for or against Rust being in the kernel, but I can appreciate the view of maintainers on a project of this age being concerned about introducing a second language (one which many of the C developers are not familiar with). This isn't a single company's web application project where a polyglot environment should work well when chosen for the right reasons. The Linux kernel is a backbone of modern computing, and making a decision on what to do without exploring all potential benefits and issues would be irresponsible at best. From what I've read, the Rust proponents want a piece of Rust middleware for DMA access so that each rust component doesn't need to have their own implementation, but the C maintainers don't wish to have to maintain C interface compatibility for Rust. With Linus stating that all code in the project must compile to be accepted in a release, this puts a heavy burden on the C maintainers where they are now required to work with the Rust developers fairly closely. Some of these maintainers have been around for a long time, and are skilled in C and do not wish to learn a new language for when the shit hits the fan and something in the Rust code breaks.

Again, this is just my understanding of the situation from what I've read, I may have some of this completely wrong, and if so I apologize to anyone involved.

progmetaldev··on How about trailing commas in SQL?
I know that MySQL uses backticks, Postgres/Sqlite uses double quotes, and MS SQL Server uses square brackets, when using keywords for a column or table.
progmetaldev··on Teen on Musk's DOGE team graduated from 'The Com'
At the least, it often makes them feel empowered to speak out in favor of forgetting all about the issue, and emboldening them to push for whatever the politician pushes that they agree with. At least in the US, you can hop on social media and take a look at your local newspaper or news channel's posts, and see some of the truly insane comments (and I use insane here as in bringing up politics to promote their voted politician, or smear the other side, when the issue is something at a local level or unaffected by politics in any way).
progmetaldev··on Teen on Musk's DOGE team graduated from 'The Com'
I think you're both correct. For those that care about their fellow (hu)man, it is extremely important to improve people's lives, to live without fear and violence. Unfortunately for the politicians, it was often just an issue that could be spearheaded to avoid and "hide" other issues. Much like businesses that celebrate pride month, and then drop the issue and remain silent on it until the next year comes around, because people are too easily fooled by a perceived month of caring. I am not of the opinion that gay or LGBTQ+ rights were ever pushed in order to prevent blackmail, especially since in the US, it is often the side that fights against those rights that end up getting caught in controversy for the exact thing they fought against. Much like how you hear that homophobia and transphobia is often perpetrated by those that haven't accepted their sexuality.
progmetaldev··on 6502 Is a Good Starting Point for Beginning Assembly Programming
Thank you for this, I was born in 1979, but got introduced to the Atari 8-bit computers VERY early, and connected immediately. I have a Raspberry Pi v4, and it sounds like learning assembly on nearly anything right now will pay off. I don't have a problem learning a new language, but the C-style of languages are easiest for me. I'm sure them being imperative is a huge plus for me learning new things about any imperative language. I actually find JavaScript to be quite satisfying to write code in, mostly because I can test out functional features more easily than adopting an entirely different language to do it in.

I spent my teenage years grabbing cracks and texts from BBS', and enjoyed the whole scene. It's really what sparked my interest into writing software, and I always wished I had learned some lower-level skills beyond running a debugger and poking at memory. I felt like if I knew Assembly, I could get into deeper debugging (cracking was initially my "exciting" topic to cover, but now I feel like it would just be understanding memory better when I run into a strange error).

progmetaldev··on I believe 6502 instruction set is a good first assembly language
Can anyone speak on how it is to move from an older assembly, to a modern CPU? I asked to take an assembly class in local/public college, and was told they wouldn't hold the class because not enough students were interested. This was in 1998, and I truly couldn't believe my ears.

I feel like learning modern assembly would be more useful, but maybe 6502 assembly is far easier to pick up? The first language I learned was Atari BASIC around 1991, and it was enough to get me to keep on moving to better languages and more powerful CPUs, but I wonder where I would have ended up if I learned assembly either before or after Atari BASIC. I try to keep up with technology, and have read quite a bit on different assembly dialects. I still haven't learned an assembly that I can program in, and I suppose it's because there are so many other high-level languages now and I feel like I need to keep up to what is used in "industry" rather than what is more obscure (but might help in debugging).

progmetaldev··on Okta Bcrypt incident lessons for designing better APIs
I guess it feels good to let someone know that what they're doing is not cryptographically secure, but at the same time, you have to tell them that seemingly random numbers and/or letters doesn't mean they've come up with something useful.

I've tried to stay positive and explain that they will fool nearly everyone, the technology they used is usually recognizable to the type of people that would want to bypass it for their own gain (or knowledge, assuming white hat types poking around). Usually putting a spin on how they came up with something that looks secure was a great idea, but the type of people that will exploit something like what they built, will recognize patterns easily (and now that AI is around, you could even make them feel better by stating how there is software built to recognize these patterns).

progmetaldev··on What does it mean that MP3 is free?
When it comes to negotiating a new job, they are absolutely not something you want to underplay. Bring it up and talk about it, and the challenges you faced creating it. I feel like being able to talk about why you created something, and the challenges you faced, along with what you learned is a huge plus. Maybe I'm more old-school with this thinking, but when it comes to someone that is more senior and can provide useful knowledge to your team, I'd want this person over someone that was talking about the latest tech, but didn't have real experience to discuss in depth. To any recruiters, am I out of touch with this thinking?

I am at the beginning stages of looking elsewhere, because of some very poor choices made that disregarded my advice. I have extreme impostor syndrome because I have only helped juniors, but have never worked in a professional capacity with anyone that had more knowledge than myself. That isn't a flex, I wish I had mentors in a professional environment, but I never did. I have learned a ton on my own, and have worked with others that moved on to better careers. I was around at the beginning stages of the company, and have gained a lot of freedom like taking time off to watch my son when he's sick, or if I need to see a doctor. I have built on top of CMS software (Umbraco/.NET) and have figured out how to keep resources below what is recommended, and love what I do, but am being given the "opportunity" and direction from the President to leave the company because my salary can't be covered any longer. Not meant to tell a sob story, just genuinely looking for advice on finding something that will strike my interest and I can contribute to. I have been with this company for almost 18 years, and built it from nothing with a weird technology, into something that a lot of medical, insurance, banking, and law firms depend on.

Any advice is truly appreciated, as I was taken by surprise, but also know that I can achieve far more than what I currently practice. I spend late nights learning for fun, even at 45 years old.

progmetaldev··on What does it mean that MP3 is free?
Adoption on Windows was definitely an issue for that time frame. Even as someone that was willing to adopt strange software, or compile it on Windows, it just wasn't worth it for the cross-platform use (mostly for mobile devices at the time, including generic players, and iPods).

I started using RockBox around 2005/2006, but it still wasn't worth converting my entire music collection to Ogg Vorbis from MP3. Right around that time, my vehicle stereo could suddenly support MP3/WMA files, and I could burn multiple albums to a CD for my truck stereo. MP3 had the broadest support across devices, and basically become an industry standard, even with the licensing.

← PreviousPage 5 of 18Next →