News for hackers. Stuff that matters.

makmanalp

Re:Visual Basic 6 IDE recreated in C# on Friday November 15, 2024 @12:48AM (#42144252)
_why the lucky stiff (also known for https://poignant.guide/ and a bunch of other things) had written something called "hackety hack" for kind of these purposes I think, but it may be abandonware at this point: https://github.com/hacketyhack/hacketyhack

But I'm not sure it was anything particular about the environment per se. Like, visual basic was written to do business software, truly the most boring thing imaginable. I think it's more about being left to your own devices with something that intrigues you for hours on end without an adult trying to control or direct what you're doing. Maybe. I'm not sure :-)

Re:Visual Basic 6 IDE recreated in C# on Friday November 15, 2024 @12:43AM (#42144232)
I remember Delphi being the one that people lamented the loss of when VB was gaining in popularity. And ShellNotifyIcon - how could I forget? :D
Re:Visual Basic 6 IDE recreated in C# on Thursday November 14, 2024 @06:14PM (#42142286)
Oh my GOD I have to comment. This is how I learned to program as a kid.

I found a copy of "Write Your Own Adventure Programs" (1983 - Usborne: https://colorcomputerarchive.com/repo/Documents/Books/Write%...) as a kid in my primary school's bookshelf. I remember the code was written in BASIC and my family didn't really own a computer back then.

Fast forward a few years later I saw this "Visual Basic" thing and thought it would be similar ... it was, but only sort of. I had no book to learn from at first so I remember clicking through every single menu and button available to see what it did. Then I remember using our dialup to download every possible 3rd party VB form control and throwing them in a Form to see what they did. I don't know why I found this entertaining enough to keep doing it.

Eventually by copy pasting and changing stuff I was able to write some basic "homework helper" programs: calculate the area of a circle and stuff like that. Soon after I tried to look up tutorials which taught me basic win32 programming to do things like have an icon in the status area next to the clock, and then hiding my window to run in the background and make annoying sounds so I could build a silly little prank program to install on my friend's computers which was fun but often would fail because they were missing some .dll file which wouldn't fit on the same floppy.

It could be frustrating at times but also I feel so blessed to have lucked myself into learning programming this way and my parents pretty much just letting me do whatever I wanted to this expensive device that probably was not a small thing for us to afford at the time.

Even tutorials felt more fun at the time, it'd be "hypnoMan37's windows registry tutorial!!! HEyyeyeyy Guuyzs :-)))) gzgzgz to my irc channel #blabla on EFNet! so first you call RegistryCreateNewKey32(...." because god knows I did not have an MSDN CD either.

Learning via a code camp feels way more efficient but also so much more dry in comparison. I wonder if there isn't a substantial cost to boring the newbies to death.

Re:Grim Fandango on Saturday November 09, 2024 @11:33PM (#42098556)
> The sense of sneaking into an adult world, even a fantasy one, might be what made the game feel so special to me

Brilliant observation that never occurred to me. Around that age being allowed to sit with and listen in on adults having normal adult conversations - being one of them - felt special.

Re:Grim Fandango on Saturday November 09, 2024 @07:26PM (#42097777)
Here's the thing - I remember playing it as a kid and so many things, arguably most of it, went way over my head: the whole travel agent thing and getting ahead in the office, dia de los muertos, the references to noir, the weird but gorgeous mexican art deco combo, I knew nothing about any of it. But I still loved every second of it. It made the world feel very rich and real even if I didn't fully get it, in a way that other games around the time just were not.

Also this is not too dissimilar to how adult life that surrounds every child is to a child. You're sort of used to living in a world that has workings beyond your comprehension and just going along with it. I didn't get what exactly was going on but I did understand /something/ was.

I'm listening to a review of The Great Mouse Detective (1986) which has a similar ethos, as did other content targeting young people from that era. Also I recall picking up books as a kid that were certainly not meant for children and adults back then didn't even blink, and I think it stoked my curiosity and interests and pushed the boundaries of my understanding, as well as prepared me for growing up. I don't think I ended up being a worse person or being traumatized in any way. Part of me wonders if kids' content being much more sanitized these days is a mistake.

Re:You Shouldn't Forget to Optimize the Data Layout on Tuesday October 15, 2024 @10:27PM (#41855044)
If you like this, you might enjoy: "Column-Stores vs. Row-Stores: How Different Are They Really?"

> The elevator pitch behind this performance difference is > straightforward: column-stores are more I/O efficient for read-only > queries since they only have to read from disk (or from memory) > those attributes accessed by a query.

> This simplistic view leads to the assumption that one can ob- > tain the performance benefits of a column-store using a row-store: > either by vertically partitioning the schema, or by indexing every column so that columns can be accessed independently. In this pa- > per, we demonstrate that this assumption is false.

https://faculty.cc.gatech.edu/~jarulraj/courses/4420-s19/pap...

Re:Turkish language has a gossip tense on Monday October 14, 2024 @01:35AM (#41834503)
> budala

:-)

Re:Turkish language has a gossip tense on Saturday October 12, 2024 @03:26PM (#41821720)
The thing about Turkish is that the grammar is very forgiving to mistakes while preserving meaning: word order can be leveraged for subtle emphasis but pretty much doesn't matter for general meaning. Conjugations are pretty much always standard. There is a "correct" ordering for the suffixes but the meaning is generally obvious even without them. If you mess up the vowel harmony it just sounds odd but again the meaning is clear. You can often omit articles because the suffixes mirror them. It's also a phonetic language - there's no "sounds different at the end of the word" etc.

It's really the perfect language to pick up on a visit even ... except the vocabulary doesn't resemble anything that most of the rest of the world speaks. There's lots of loanwords from farsi, arabic, french and english of course but beyond that and speakers of other Turkic languages, it's struggle for most people.

But yes, it's true that we're often over the moon that someone put in the effort to speak it :-)

Re:Italian Music Through the Lens of Complex Networks on Saturday September 28, 2024 @09:34AM (#41680149)
Oh that does sound like a fun project!
Re:Tcl 9.0 on Thursday September 26, 2024 @11:32PM (#41666007)
What's upvar? :-)
Re:Italian Music Through the Lens of Complex Networks on Thursday September 26, 2024 @03:12PM (#41662044)
Lovely analysis, some new music for me, and love to see work from former colleagues get recognition - hi Michele!
Re:Apple Hearing Study shares preliminary insights on tinnitus on Monday September 09, 2024 @03:23PM (#41492446)
> Nobody complains about tinnitus while playing Playstation

As a long time sufferer, I want to support the general sentiment of this post, and I hope it helps someone who finds this that is currently suffering. My core message is that managing your psychological response to your condition matters immensely. I've noticed over the years that my perception of my tinnitus gets worse when my stress levels are high, even if for unrelated reasons. For example, reading about this post might remind me of it when I wasn't thinking about it for a long while. And suddenly this might bring back unpleasant feelings I have about it and it might suddenly feel very loud and overpowering when half an hour ago I wasn't even aware of it. But then an hour or two later I'll catch myself having a normal, quiet, unimpeded conversation with someone, which can feel like a contradiction.

Unmanaged, this kind of thing can turn into an unchecked, self reinforcing doom loop that's not always necessary or helpful. As with anxiety (another long term problem I manage), one unhelpful thing doctors might say when you first get tinnitus is that it doesn't go away - this is one of those technically true statements that patients can misinterpret. The reality is that just like anxiety, in many cases there's plenty reason for hope: it's often quite possible to improve quality of life that's mostly the same as it was before. It's still there if you check, and time to time you need to manage it, but also you might go days and weeks without even noticing, living a perfectly normal and happy life rather than a miserable existence.

On the other hand, leaving your primary care doctor with "yup, it's tinnitus" (my interpretation at the time: you're fucked for life, good luck) can lead to deep feelings of despair, panic, lack of sleep, over-sensitivity to noise of any kind even within normal thresholds, and many more terrible things. And "just ignore it, you'll be fine" is trite advice that can be difficult to achieve without help, like telling someone to ignore a siren in the next room. And it might be difficult for others to understand how debilitating it can be. But slowly and step by step it's possible to get there.

Sadly compassionate and competent care for tinnitus, even among audiology specialists, is few and far between and patients are left to suffer and / or try to figure stuff out on their own, which like a hypochondriac on webmd, can leave you feeling even worse. Luckily it is more possible to find tinnitus specific care these days and I encourage you to find a clinic that does this if you can - it's worth traveling for IMHO. There's a cocktail of potential causes that indicate different treaments so take this with a grain of salt but what worked for me was a combination of various things first to manage my current state and give me some relief during my initial crisis state (psychological help with how to deal with the reality of your condition, various things to help mask it and allow me to get normal sleep), clearing out wax (it's hilariously gross and also wild how it can affect your hearing perception and tinnitus in the most unexpected ways), common sense non-doomer information on the nature of the disease, what to do next and how to slowly transition to focusing on normal life ("playing playstation"): doing things with people, being outside, working out, focusing on your interests, as opposed to catastrophizing at home in bed. This feels like a non-cure cure but the results for me are night and day - if it's a placebo, I'll take it. I still have trouble with it time to time, but lead a normal happy life most days.

That aside, while we don't have the technology to make it fully go away yet, there have been a lot of recent changes and advances in our understanding of how it works which might lead to new therapies. Disclaimer: I'm not a doctor and might be butchering this so take this with a grain of salt: There seem to now be competing theories on the exact causes e.g. arguments about whether it's the the little hairs in the ear are sending no signal or incorrect signals. Also a recent understanding that you can have a seemingly unaffected hearing AND a normal audiogram but still have tinnitus is leading people to question if it's a different type of damage (different, larger hairs) that cause it which might mean different therapies. There's promising new treatments like Lenire which seem to be low risk and whose early study results seem to be much more promising than earlier versions of similar ideas (haven't tried it). I wouldn't be shocked if we eventually got much much more in our lifetimes.

TLDR: of course you'd rather not have it - please do be careful in protecting your hearing as much as possible. But if you're at the point where you do have it, just take a bit of solace maybe that it's not always a terrible prognosis and more improvement might be possible than you think. And the psychology and managing my emotional perception of it was very helpful for me. I hope this helps you, dear reader.

Re:Show HN: Epistolary – Respond to your emails in handwriting on Wednesday September 04, 2024 @12:13PM (#41447421)
I was envisioning an image or PDF (which lets you embed the font, effectively) but "click here to install my font" is somehow even funnier
Re:Show HN: Epistolary – Respond to your emails in handwriting on Tuesday September 03, 2024 @10:47PM (#41441401)
I don't know why but from the title I was kinda expecting and even hoping for the opposite - that you'd type it up and it'd make a ye olde letter PDF/jpeg and attach it to the response :-)
Re:Inside the "3 billion people" national public data breach on Thursday August 22, 2024 @11:29PM (#41325979)
Yep, you are right, complete brain fart on my end. Of course it doesn't work if it's required for the salt to be publicly mappable to the SSN, since that just circumvents the whole thing. I just didn't understand what you were saying in your earlier message.
Re:Making Database Systems Usable on Wednesday August 21, 2024 @07:47PM (#41315311)
Hi friend. I, like you, am exactly that person who reads those docs very carefully and has to know about the seemingly innocuous one liners as well as the one liners that are not there but should be, that eventually make it in after the next point release. Or the bug report that's marked "S3 (non-critical)" that sneakily awaits for days in production until it whacks something very much critical. Or the bug that celebrated its 14th birthday. What I understand about how some of these implementations work makes me very sad sometimes. And I'm telling you that the state of things is silly.

The thing is - and I imagine you know this - that when you run tens of thousands of database instances it's not a matter of if, it's a matter of when. I can't chase after thousands of engineers to make sure they're not hitting some obscure pitfall nor can I demand that they know the ins and outs of the 8 different types of locks in FooDB. And "read the docs lol" definitely doesn't scale. So we build automated mass-guardrails and linters as best we can and use various shenanigans to deal with the real world.

In the context of schema migrations, there's tools like pt-osc, gh-ost and pgroll that are excellent for what they are and I'm grateful to those who created them but these are still in effect huge hacks that are bolted on top of the database. They're teeming with footguns. I can tell you about a time where badly conceived timeout / error handling code in one of these tools in their golang database driver resulted in most of a database dropped instantly with no fast rollback, for example. That was fun.

If a third party bolt on tool can implement zero(ish) downtime migrations and cutovers, at least much much much better than the regular DDL, why the heck is the database not doing whatever that thing is doing? It's tech debt, history, crud, lack of caring, etc. Schema migrations is just the tip of the iceberg too, don't get me started on replication, durability settings, resource usage vs capacities ...

My point is that academics and vendors should be taking operational problems seriously and owning them, and solving them properly at the database layer.

And just like you I also make living off of the fact that the real world operational characteristics of truly busy databases are very different than what gets benchmarked and tested. I'm just saying that some of this stuff even I don't want to have to deal with. There's better problems to be working on.

Re:Making Database Systems Usable on Tuesday August 20, 2024 @05:42PM (#41304383)
Add schema migrations and bulk loads to this. So many systems crap out doing things like schema migrations at scale. Query latencies degrade over time due to internal structures keeping track of things, stuff runs out of buffer / log space in memory or on disk, you have a traffic spike but you can't pause or throttle a 40 hour long ALTER, things that should never lock do lock for indeterminate times during cutover, stuff craps out after cutover due to surprising behavior but there is no rollback, or even worse I've seen things just flat out crash with some random assert fail or segfault.

It's a world of pain, and there are so much scar tissue of third party tooling doing crazy stuff dealing with this problem among large companies that really should be the DB vendor's problem.

Re:Inside the "3 billion people" national public data breach on Thursday August 15, 2024 @12:20PM (#41257713)
No, that is kind of the point of a salt is that it doesn't need to be hidden - it's designed for a scenario where e.g. your database is hacked and they're visible as plaintext: https://en.wikipedia.org/wiki/Salt_(cryptography)

Since the salts are random, unique to each SSN and long: a) you'll find no existing rainbow table that contains the correct plaintext for your SSN hash and b) each SSN now requires its own bruteforcing that is unhelpful for any of the other SSNs

Combine that with a very expensive hashing method like PBKDF2 (I'm sure there's something better by now) and you've made it pretty dang hard for non state actors to bruteforce a significant chunk of SSNs. There's also peppers that involve storing some more global secrets on HSMs.

I'm sure the crypto nerds have like a dozen better methods than what I can come up with but the point is this is not a feasibility issue.

Re:Inside the "3 billion people" national public data breach on Thursday August 15, 2024 @11:07AM (#41256965)
> HIPAA has done net harm by delaying flow of information for critical-care patients resulting in lack of patient compliance, confusion, and treatment error.

You won't find any disagreement from me that HIPAA is very complicated. However there's a certain level of whining and foot dragging that happens in the industry that we should take with a massive grain of salt. There's so many HIPAA compliant and still convenient ways these days to have patient communications, but the industry doesn't want to invest and doesn't care about patience experience enough, and then go "sorry, HIPAA :-(((" every time.

With GDPR, after Schrems II happened and it became clearer that the EU-US Privacy Shield was no longer a valid workaround, I personally observed companies (including the one I was in) suddenly moving mountains to complete migration projects and privacy upgrades in just a few months that the industry previously deemed was technically unfeasible or impossible, cost prohibitive, business destroying, etc. And they still remained massively profitable and growing. If they had just done the right thing early on it wouldn't have been on such a tight deadline either.

That was the final straw for me in terms of being very firmly convinced that we should be telling companies to shut up and comply a lot more because they will never do the right thing on their own even if it wasn't /that/ hard. Another approach here is to start holding them liable for the personal costs of data breaches etc and let the incentives take care of themselves. In fact, why not a bit of both?

Re:Inside the "3 billion people" national public data breach on Thursday August 15, 2024 @10:52AM (#41256837)
> Someone can just hash every number from 000-00-0000 to 999-99-9999 and figure out mine from that.

That's what salts are for, right? It wouldn't be too hard to issue a very large, known, public salt alongside each SSN.

> And of course none of the data brokers have much reason to make opt-outs work well, in the absence of legislation and strict enforcement - it's in their commercial interests to say they "can't stop your data reappearing"

This is the actual reason, IMHO.

Re:Belenios: A Verifiable Online Voting System on Monday August 05, 2024 @12:04AM (#41158106)
As a person who's from a country with, let's say, VERY VERY contested, controversial and eventful elections, the fact that independent poll watchers from different parties and NGOs can independently observe ballot boxes, take photo evidence of countersigned and publicly posted box tallies to send them to their HQs, and then compare and contrast results amongst each other as well as with the official results is a huge boon for transparency and trust in the electoral system.

It's not perfect: more remote and less popular areas go unobserved, and what happens after an official complaint is made is anyone's guess.

But at least almost anyone can add up numbers for themselves and come to a conclusion about what to trust and not trust. And you might think no one would bother, but in my brief experience as a volunteer poll worker they surely do, and zealously so. I can't even begin to imagine what'd happen if the paper ballot was replaced with "trust us, the machine says 37 for party A" or "the magical fingerprint number you don't understand says this ballot was cast for someone else".

Re:"We ran out of columns" – The best, worst codebase on Saturday August 03, 2024 @09:04PM (#41150428)
> I don’t even know how they thought that little old me just out of university could be left alone to successfully build applications on my own, but I think people trusted a lot more during that era

A similar feeling on my end too :-) That might be it - trust sounds like a big part of it for me. Taking a chance on someone who you might eventually end up being good, rather than interviewing and evaluating them 7 ways till sunday. I understand the impulse. I wouldn't want to be a new engineer out of college today though - seems rough.

I did get paid less then than some new grads seem to be now so that might have been a factor in taking the pressure off.

> because you can always walk up to get immediate feedback (people generally like to see you are actively working on their issue)

Oh absolutely!

> It still amuses me that IT was located together with finance, because we did reports xD

It was communications for me, because the software tool we built was free to use on the web, and websites are communications, obviously :D

Re:"We ran out of columns" – The best, worst codebase on Saturday August 03, 2024 @07:31PM (#41150066)
As much as this stuff is nuts to think of today and there's tons to hate, I am kinda nostalgic for some aspects of my experience of working at a place where software is maybe needed and/or valued but isn't a core competency. Or maybe a time when software was a new fangled thing that hadn't fully been integrated into corporate structure yet:

- No one having any preconception of how you're /supposed to/ do things or whether you'd even be the type of person to know, so you just kinda figure it out yourself. You spend a lot of time on reading and learning skills. Version control? Wow, cool, what's git, let's try that! A new graphing library? Let's give that a shot, maybe it'll make things easier! You want XYZ? Let me go read about that for a day.

- No one having any idea what's even possible: (selfishly) being treated like a wizard for introducing the tiniest piece of automation or improvement that makes someone's day easier or doing something they never thought was possible. Lots of appreciation and excitement for showing and teaching people new things.

- Similarly people having no idea how long those things should take which, tbh, can be a nightmare if you're not trusted and respected enough to be consulted but also great if people believe you when you say it's gonna take 3 months.

- Beyond the basics just being mostly kinda left alone to do your job however: no standups or tickets or the 30 other kinds of daily (micro)management that is probably necessary but ends up feeling tiresome and stifling at an individual level

- Not being part of software company "culture": no performance review driven development and promo packet madness, no weird rating and ranking systems, no OGPs or KPIs. No ladder. Your bosses think you did what was required of you, so then you're good, and if it's a good year you get a raise, and that's that. No hacker ninja pirate segway mini quadcopter b.s.

- Socializing with people who are good at and love to talk about stuff other than software

Reading over that, I'm thinking maybe I lucked out a lot and that wasn't most people's experience from that era. And there's some level of rose tinted glasses going on. And/or maybe my years in the rat race are starting to show :-)

Re:The Smith-Prmier No. 1 Typewriter on Monday July 29, 2024 @04:12PM (#41103342)
Interesting that it didn't have a "shift" mechanism and so you end up with both upper and lower case keys, which must make typing full sentences a pain. But they maintained the "upper case" being on the top and the "lower case" being on the bottom, like from a printmaker's type box.
Underrated oncall problem that needs solving is scheduling IMHO:

- We have a weekday (2 shifts) / weekend (1 slightly longer shift including friday morning to allow people to take long weekends) oncall rotation as well as a group-combined oncall schedule which gets finnicky.

- When people join or leave the rotation, making sure nothing shifts before a certain date or swapping one person with another without changing the rest and other things are a massive pain in the butt

- Combine this with a company holiday list - usually there's different policies and expectations during those. - Allow custom shift change times for people in different timezones.

- We have "oncall training" / shadowing for newbies, automate the process of substituting them in gradually, first with a shared daytime rotation and then on their own etc.

- Make oncall trades (if you can't make your shift simpler)

Gripes with PD:

- Pagerduty keeps insisting I'm "always on call" because I'm on level N of a fallback pager chain which makes their "when oncall next" box useless - just let me pick.

- Similarly, pagerduty's google calendar export will just jam in every service you're remotely related to and won't let you pick when exporting, even though it will in their UI. So I can't just have my oncall schedule in google calendar without polluting it to all hell.

Canary releases aren't a magical bug free fix. They might be doing it, but the conditions that trigger a problem can be sneaky and can happen outside your canary period, rendering it useless. It's a best effort method.
Re:TinyPod – Apple Watch case with scroll wheel on Wednesday July 17, 2024 @01:24PM (#40988165)
OK, in this vein, why oh why did Lyft and Uber remove their apple watch apps? I just need an app that's a single "take me home now" button so I don't have to worry about my phone battery dying when I'm out and about. Pretty please?
Lovely answer full of helpful details, thank you!
Question - if large clusters are reporting that they're seeing gains from using RDMA networks because communication overhead is a bottleneck, how is it possible that this thing is not massively bottlenecked running over a home network?

Older »