News for hackers. Stuff that matters.

bm98

Re:Half My Life with Perl – By Randal Schwartz on Thursday December 19, 2024 @11:02AM (#42462735)
That was a great talk! Notice how his entire career got launched from an internship at Tektronix. I love the bit about how he found his own troff macros in use at O'Reilly because a coworker had taken his code there years before -- and he appreciated that! One might say that the same kind of "80's hacker ethic" is what got him into trouble at Intel.

The Camel book was so well-written. It was my introduction to Perl, which became my "superpower" in the 90's and far longer into the 2000's than I tend to admit. I eventually switched to Python because it's the closest thing that is considered an acceptable "modern" choice. I really enjoy Python too, but the obligatory XKCD about Python[1] rang true for me about Perl first.

For me the #1 superpower strength of both languages is the first-class treatment and syntactic sugar for associative arrays (a.k.a. hashes, dictionaries).

Perl did the same for regexes and file I/O; Python did not.

I have come to appreciate Perl's backwards compatibility -- that old scripts still run unchanged -- though maybe that's largely because Perl 5 has been in maintenance mode for so long.

[1] https://imgs.xkcd.com/comics/python.png

Thank you for this article. One of the great frustrations of using Magit for Emacs is the inability to read things because the foreground and background colors for various things end up the same on some platforms.

From this article I found the command "toe -a" and was able to try various TERM values until I found one that makes Magit readable: vt100. This turns off colors entirely, which may not be pretty, but at least I can read everything now.

Re:The ZX81 Turns 40 on Sunday March 07, 2021 @11:35AM (#26377244)
1982 Atari 800 here (was 8 years old at the time). I remember thinking the same thing at the time. When we first bought the thing, there just wasn't much I/O beyond the tape drive (and later the disk drive), and therefore the things we could do seemed very limited. It wasn't until we got a printer (a Star Micronics SG-10 dot matrix tractor feed) and a 300-bps modem that the world really opened up!
Re:26 Years of Delphi on Monday February 15, 2021 @10:21AM (#26143512)
>The best memories I have was that probably, this was the first time I had that "feeling" of having built something useful to somebody. And certainly the best moment was when one of his suppliers who also accepted those coupons asked us for a copy of the program. Great times.

And then you go off to college, and one day the program stops working because of one problem or another, and they call you in the middle of studying for final exams, and that's when you learned about technical support and technical debt and all the things that make programming less fun!

Some people have recurring dreams in which they show up to school or work in their pajamas... my recurring dream is that some program I wrote in high school is still being used twenty years later, and they come calling because something broke...

Re:The World of Legacy IT Systems on Friday August 28, 2020 @10:31PM (#24312839)
Software lifetime is an interesting topic. See for example [1], a 1992 paper that surveyed business applications and found an average lifetime of about 9 years, with a maximum of 20 years and a minimum of 2 years. 2 years versus 20 years!

Things don't seem much different today.

On the one hand, HTTP, HTML, and producing HTML server-side in a language like Java or Python and with a SQL database isn't all that different now than it was 20 years ago. There are Java web apps developed in 1999 that are kept up-to-date and work just fine in 2020. On the other hand, there are applications developed with popular technologies a just a few years ago that are hopelessly out-of-date and in need of a rewrite today.

I see it as an end user too. I've been an ING Direct (now Capital One 360) customer for 18 years. The web app that I use in 2020 seems to do the same things as the one in 2002 (though it's slower today), but it seems like it's been completely rewritten at least three times.

[1] https://scholar.google.com/scholar?cluster=23826996884004375...

EDIT: And HN! 13 years old and counting...

_That_ is the question we should be asking. If not, is it because geofence warrants have a higher legal bar if issued to a phone company? Or is it about the level-of-effort?
Re:W3C recommends WebAssembly on Friday December 06, 2019 @03:49PM (#21725850)
I always thought the primary driver of the demise of Flash was that Apple simply decided not to support it in iOS Safari. Is that not right?
Walmart. I've been Amazon Prime for years, but whenever I need to buy something with a high risk of being counterfeit (printer ink is the most common one for me), I use Walmart - and it's free shipping from them anyway. Really the only difference is that Amazon usually gets it to my door faster.
To me this is the crux of the issue. And it's non uncommon in software development:

The developer fails to check for an error condition or raise an exception because doing so would add too much complexity to the system. So instead it is assumed (or hoped) that it simply can't or won't happen. Problem solved...

(Edit: Or that the user will just have to reboot if it happens.)

Re:How Not to Do Time Tracking for Software Developers on Tuesday February 19, 2019 @02:51PM (#19202151)
Tracking time is part and parcel of being a consultant, at least if you have multiple clients and overlapping work. After doing it for 15+ years, I've tried it all - everything from the spreadsheet, to the apps, to forgetting and having to go back and reconstruct.

I read this article and I think it's missing the point about what's so hard about time tracking.

What's hard is: Implementing the trigger on the context switch.

You're working on one thing, something happens and you make a context switch to something else - and in order to track your time, you need a trigger to fire to prompt you to record the switch. It doesn't matter if it's in a spreadsheet or an app or on a piece of paper - I find that my brain doesn't fire that trigger very reliably. Especially if I'm busy.

If someone can solve that problem with a fancy app, I'd be impressed!

I've said it in another thread [1]: I want a robot that watches me and quietly makes intelligent decisions about what I'm really doing, and tracks that.

[1] https://news.ycombinator.com/item?id=15790918

Standards like SMART-on-FHIR [1] and CDS Hooks [2] have the potential to allow innovation developed outside of Epic and Cerner inside of those products. Both of those vendors even have "App Stores" [3] [4]. So far, though, there aren't a lot of apps in these stores, and none of my doctors (all of whom work for large academic medical centers and use Epic) have access to any third-party apps - so I do wonder whether the vendors (or their customers) may be putting up roadblocks that are slowing adoption.

[1] http://docs.smarthealthit.org/ [2] https://cds-hooks.org/ [3] https://apporchard.epic.com/ [4] https://code.cerner.com/apps

Re:Firefox 64 Released on Tuesday December 11, 2018 @02:34PM (#18658116)
Most new mice, yes. I use an original Logitech MouseMan 3-button mouse with no scroll-wheel. I realize I'm an outlier, but no mouse has ever come close in terms of comfort for me - so I continue to use it, and life has been just fine until the advent of the Overlay Scroll Bar.

I realize the benefits of the Overlay Scroll Bar to the majority of users who have scroll-wheels. But it sure would be nice if there was an easy way to revert back to the Normal Scroll Bar ("Classic" scroll bar?). You know, the wide bar that scrolls down exactly one page-length if you click outside of the bar? I've spent plenty of time Googling and in "about:config" and exporting environment variables like GTK_OVERLAY_SCROLLING=0 to no avail.

Interesting - it's part of the routine childhood schedule in the US but not in the UK. From NHS: "Why isn't the chickenpox vaccination part of the routine childhood immunisation schedule?"

https://www.nhs.uk/conditions/vaccinations/chickenpox-vaccin...

Time tracking. No matter how many fancy time tracking apps you use, it's still painfully manual. I want a robot that watches me and quietly makes intelligent decisions about what I'm really doing, and tracks that.
Re:Java EE Is Moving to the Eclipse Foundation on Wednesday September 13, 2017 @09:33AM (#15238049)
> "According to Lee Nackman, Chief Technology Officer of IBM's Rational division (originating in 2003) at that time, the name 'Eclipse' (dating from at least 2001) was not a wordplay on Sun Microsystems, as the product's primary competition at the time of naming was Microsoft Visual Studio, which Eclipse was to eclipse." [1]

[1] https://en.wikipedia.org/wiki/Eclipse_(software)#Name

Interesting to compare this to some of the "old school" solutions for converting web pages to PDF such as htmldoc[0] or html2ps[1].

[0] https://github.com/michaelrsweet/htmldoc [1] http://user.it.uu.se/~jan/html2ps.html

Re:On the Unhappiness of Software Developers on Friday June 02, 2017 @12:27PM (#14471136)
Glaring omissions:

11. Security vulnerabilities and attacks (and the fear of them) 12. Technical debt

Re:A Case of Stolen Source Code on Wednesday May 17, 2017 @04:32PM (#14362517)
In cases where I need to download and install unsigned software that's not available via package manager, I run hashes (MD5, SHA1, SHA256, etc.) on the downloaded file and the run Google searches on those hashes. As long as the software has been released for more than a day or two and it has a decent sized user base, the hashes will show up in various places such as fossies.org and will be cached by google. That would have protected against this particular attack.

EDIT: But in this case, the software in question is signed, so the (fallback) technique described above is not necessary. The download page [0] contains a GPG signature along with a link to the author's GPG public key. Checking the signature would have prevented the attack.

[0] https://handbrake.fr/rotation.php?file=HandBrake-1.0.7.dmg

Re:Lessons from last week’s cyberattack on Monday May 15, 2017 @09:49AM (#14341522)
I believe the "hoarding the fix" comment was in reference to the patches for Server 2003, XP, and Windows 8 that were released publicly for the first time over the weekend (but had been distributed previously to customers paying for custom support) [0].

[0] https://news.ycombinator.com/item?id=14329914

Re:Ask HN: Do you still use browser bookmarks? on Friday April 07, 2017 @10:13PM (#14064895)
I'm a little surprised that the majority of the answers here are Yes!

I help my parents and my kids work with bookmarks but I have none myself; and I was beginning to think that bookmarks were primarily used by non-technical people. I guess I was wrong!

Everything I need is a simple URL (like, my bank: usaa.com - why would I bookmark that?) or a quick Google search away. If I come across a deep link that's so important that I want to keep it, I email myself the link along with maybe a short description, and it will be searchable forever.

My lack of bookmarks fits with the rest of my "online personality". I have 14,183 threads in my work email inbox and I do not file emails into folders like most of my colleagues. I do not have the desire or the time to manage email folders or browsing bookmarks.

Also, the fact that I browse in a "clean" browser instance in SELinux that saves no history from instance to instance probably contributes to my lack of bookmark use.

As a web developer, I wonder if this class of accessibility functionality renders the web accessibility guidelines [1] obsolete? Many of the guidelines have to do with organizing content and following rules that make it easier for older (inferior) screen readers to handle. But I just enabled this feature on my iPhone, and browsed some sites that I know are ridiculously noncompliant, and it handled them beautifully. Even guidelines having to do with describing photos and avoiding text in images could be rendered obsolete with some of the third-party apps that perform OCR and use AI describe photos.

[1] https://www.w3.org/WAI/intro/wcag

It's odd that the status pasted in the parent has disappeared from https://status.cloud.google.com/ , as the page seems to be designed to keep event history - but it's not in the history. I can still find it in Google's own cache, though - in the snapshot of the page as it appeared on Feb 24, 2017 11:19:38 GMT.

Program's failure to properly format currency contributed to a foreclosure case

HN seems to have missed the fact that the "foreclosure over 27 cents" story that has been in the political news lately [1] was caused in part by a bill that was sent for "$.3" instead of "$0.30" [2].Programmers' failure to properly format currency output has got to be one of the most cringe-inducing practices in our profession, so I thought HN would be interested to see this.[1]...

( Read More... | no comments | on HN )
Re:Learning from a Year of Security Breaches on Tuesday December 20, 2016 @10:08PM (#13226529)
Ugh. A good and scary reminder of what's lurking around the corner for any of us at any time - including holidays and vacations (Linode's holiday attack last December comes to mind). IMHO, the emotional impact of breaches on the staff who respond to them is under-discussed. The author touches on it here:

> The discovery of a root cause is an important milestone that dictates the emotional environment an incident will take place in, and whether it becomes unhealthy or not.

> A grey cloud will hover over a team until a guiding root cause is discovered. This can make people bad to one another. I work very hard to avoid this toxicity with teams. I remember close calls when massive blame, panic, and resignations felt like they were just one tough conversation away.

Re:The Busy Person’s Lies on Thursday December 01, 2016 @04:08PM (#13083519)
I have a time tracking code called "HN". 33.19 hours logged so far this year. I think it's time well spent...
Re:Ask HN: What's your favorite HN post? on Wednesday September 14, 2016 @09:32PM (#12502692)
Maybe not favorite but "most memorable": "CVE-2014-6271: Remote code execution through bash" [1]

The top comment when I first saw it was, "If you are responsible for the security of any system, this is your immediate, drop-everything priority." [2]

Shellshock just kept going, and going, and for days you didn't know what was coming next. I suppose it's unfair to real PTSD victims to say this, but sometimes I feel like I have a little PTSD from that incident. I can only imagine what people at the center of it were going through.

My favorite blow-by-blow account was David Wheeler's essay [3] [4].

[1] https://news.ycombinator.com/item?id=8361574 [2] https://news.ycombinator.com/item?id=8361871 [3] http://www.dwheeler.com/essays/shellshock.html [4] https://news.ycombinator.com/item?id=8428644

Re:How to steal a developer's local database on Thursday September 01, 2016 @04:17PM (#12408531)
Running your browser in Red Hat's SELinux sandbox [1] [2] limits the ports you can connect to and thus limits this type of attack to those ports (80, 81, 443, 488, 8008, 8009, 8443, and 9000 in the default configuration).

[1] http://danwalsh.livejournal.com/31146.html [2] http://www.bress.net/blog/archives/195-Firefox-in-a-sandbox-...

Ask HN: How is it that HN is a success?

Dang's comment on HN's self-regulation [1] got me thinking: It's amazing to me that HN actually works. That, the the most part, the best submissions and the best comments do tend to float to the top. I wouldn't expect individuals acting in their own self-interest to bother to spend the time to upvote and downvote and flag things, especially when the feedback from such actions is so minimal. ...

( Read More... | 28 comments | 30 points | on HN )

Older »