skysight-inc/HackerNews huggingface dataset:
What I remember was enjoying a totally full ecosystem of PalmOS apps that I could install from anywhere on my Samsung sph-i300 6 or 7 years before the first iphone even came out, and they were mostly all great.

As great as the hardware and cell network of 2001 allowed anyway. The worst thing an apl ever was was sucky or stupid, never harmful.

I had apps to do every random thing you could think of from trivial little things like calculating a netmask or decoding resistor color codes, to fully functional clients for ssh, irc, email, web, even vnc, audible.com, several db-app-dev type apps like handbase (like access right on the phone), a phone dialer app that integrated with the contacts db because the built-in dialer didn't even do that yet...

It was like all the good parts about dos & windows where anyone could write an app and anyone could install anyone's app.

It was 100% great with no downside or horror story at all. Certainly dos/win gained malware, and surely some harmful palmos apps must have existed, but somehow from the first Kyocera palmos phone, through the SPH-i300 & 310 or 330 whatever the updated model# after i300, through a few Treos, and finally the Palm Pre, I never once ran into one.

In 2001.

Iphone came out in 2007, with no 3rd party apps at all.

I say this argument is at least questionable.
> TypeScript compile time when changing files takes several minutes, making continuous compiling an excruciatingly slow process

They must be doing something horribly wrong, because tsc takes literally 1 second for my 3KLOC codebase[1] in incremental mode.

[1] https://github.com/flatpickr/flatpickr
this might sound cynical but we have lost this war already in the last century[1]. It's a salami tactic which is applied against us slice by slice and the pandemic (and every protest whether in the Paris banlieus, HK or Seattle) is another successful milestone won by the state to integrate any outliers and test new methods. Since fighting back by going to a protest is viewed as radicalism there are increasingly less (legal) options out of this mess. When you go and join a a protest make sure to cover yourself[2], and look out for the cow[3]

[1] Jacques Ellul - The Technological Society ("La Technique") https://archive.org/details/JacquesEllulTheTechnologicalSoci...

[2] https://crimethinc.com/2014/08/14/staying-safe-in-the-street...

[3] https://www.fotomuseum.ch/en/explore/still-searching/article...
How A Worm Gave the South a Bad Name
I've been working on making my YouTube channel actually useful/updated, and somehow triggered YouTube's algorithm with my Turing Pi (Raspberry Pi compute module) cluster: https://github.com/geerlingguy/turing-pi-cluster

I've also spent a bit of time cleaning and rearranging my workshop, and redoing a bit of my office for better video conferencing and streaming.
> However, every time I can remember helping someone track down the source of their connection problems, the culprit has turned out to be their wifi.

This is not my experience. I’d estimate wifi to have been the problem only 20–40% of the time. I’ve found a poor ISP to be the problem much more commonly. And then the last few percent of cases is other miscellaneous network topology problems typically from failing wired hardware, buggy router or dying dumb switch.

(I’m excluding “too far away from the router” from my reckoning, because in such cases that’s been known to be the problem, and it feels unfair to criticise wifi for that unless you’re going to criticise ethernet cables for not being where you want them. Notwithstanding this exclusion, I have found that being near the edge of a wireless network’s reach is great at messing with both the router and computers; where I am at present, if I go a few metres further away from the router, my Surface Book’s wifi connectivity stands a decent chance of kinda breaking after a while, so that it starts losing 5–30% of packets and getting average round-trip times to the router of 150ms—which together make it very close to completely unusable—until I next restart the computer (restarting the wifi adapter isn’t enough). I haven’t determined who’s at fault, the router, the adapter, or Windows 10.)
I have a hard time swallowing that the pay for remote workers should be based on the employee’s cost of living. My degree is in business and I very clearly recall the lesson on if it was ethical to pay someone with kids more (ie, at raise time) than someone without. The conclusion was that the value the employee brought was consistent and you can’t price in their financial decisions; that it was an old school thing to give a raise for having a kid.

If I am a remote worker and I work in downtown SF or in a flyover state does not change the value I bring. If the bean counters are not giving a raise when you have a new kid, they shouldn’t be cutting your pay when you move to a lower cost area.

It is all smoke an mirrors to improve the financials of the company. I’d be more for it if they just said so instead of lying and hiding it behind other reasons.
Today in Indian History: June 21, 2006 – India and China Reopen Nathu La Pass
OK, great books, I haven't read any of them. Please, can someone share experience reading the recommended books? When did you do it?
I think such gross negligence should lead to much more severe consequences for the person in charge. Either way this case sets an example. The current sentence says that gross negligence in handling sensitive data and loss of state secrets doesn't really matter much.

At least here in Norway we have the concept of conditional imprisonment, which is not entirely unlike being on probation. I'm pretty sure our Swedish neighbors have something similar.

For a case such as this, a conditional jail sentence of a year or two would not be inappropriate. After all, the data included highly sensitive state secrets.
I added Lensfun lens correction to my photo editing app Filmulator.
I've been contributing to the Andorid port of Anki (HTML based flashcards + spaced repetition) for the past few months.

https://github.com/ankidroid/Anki-Android

https://github.com/david-allison-1

Knowing that I've actively been impacting students (particularly medical students) from around the world has been really good for the soul.
Everyone is drawing conclusions without much context. Read the design doc[0].

[0]: https://docs.google.com/document/d/1_WvwHl7BXUPmoiSeD8G83JmS...
Honestly, what is a meaningful answer when someone blames language for problem with having two separate classes with the same name?
Jerry (SC17) Is Hiring Full Stack Engineers in Toronto, SF Bay Area
https://boards.kenforthewin.com

A sort of live reddit-like app with RSS syncing support. In its very early stages (I don't even have a name yet)
My experience getting suspended on Twitter
I originally designed FlatBuffers for games (though admittedly more for things like level data or save game data than network packets), so I'd think it is pretty suitable. I had actually used Protobuf on a game project just before, and its performance problems led directly to the no-unpacking no-allocation design that FlatBuffers has.

So FlatBuffers will make an incoming packet waaay faster to work with than Protobuf. On the downside, Protobuf tends to be a little smaller, so if bandwidth is a greater concern than (de-)serialization speed, you might still prefer it. Additionally, receiving data over the network raises the question of how you handle packets that have been corrupted (or intentionally malformatted by an attacker), and in the case of FlatBuffers you'd need to at least run the "verifier" over the packet before accessing it if you don't want your game servers to crash when this happens. That slows it down a little bit, but is still fast, i.e. still doesn't allocate etc.

Cap'n Proto will perform similarly, though does have the downside that all fields take space on the wire, regardless of whether they're set or not. So which is better depends on the kind of data you want to send and how it is likely to evolve.

Frankly, for the absolute highest performance (and lowest bandwidth) game networking you still need a custom encoding.
Both are important. You do need to work on your own projects and own concrete case, find tricky cases, look up suggestions online, etc. It can be a great learning opportunity. For example, back in the day I used to do a lot of video recoding, ripping DVDs to SVCD, so I had to learn what the terms mean in the programs and why results weren't as I expected. This led me to learn basic concepts and a mental model of coding theory, color spaces and signal processing. Or when I built a website, I had to learn about networking, about programming some Javascript, etc. just to get the website to display. Similar with game modding, learning about graphics, textures, scripts, writing code to decode, modify and encode binary files containing text to translate them from English to my language. This meant I had to learn about character encodings etc. If you have a personal purpose in mind, learning can "just happen". I didn't intend to learn the things, I was just striving to make the thing work.

I have no idea how I'd make someone interested in these things if their mind doesn't pop up such tinkering goals for them.

On the other hand, the above is very inefficient in itself. It is hard to overstate the importance of reading good books, besides the practical learning of the above paragraph.

You need to be able to relate to the topics to some degree, but once you have the hang of it, you can benefit from the years and years of experience of experts and hone your mental models, discover new topics and relations across topics and understand things more holistically.

Learning only from books/courses is not sufficient, you won't be able to apply what you learned if you don't constantly try to map from what the book says to something you are already familiar with a little bit.

But you have to pick good books. Bad books can be more confusing and discouraging. I think American CS books especially from MIT Press are really high-quality. They may be expensive (but there's LibGen).

You may also have problems with delayed gratification. The benefits of an hour spent on reading a textbook will be vague, uncertain and delayed and often hard to attribute to the book. One hour of watching Netflix or Youtube or browsing through 20 genuinely interesting links from HN feels more rewarding. This is a big problem for us all in today's attention economy. You need to be very conscious of this to break out of it.
Well, you already know the answer, as everyone gets older every day. I'm serious.
It's extremely gradual in most ways (hair, teeth, brain) and faster in others (culture, trends, tech).

Maybe you're thinking instead of 5, 10, or 20 years time, that's a different question.

But in case you're not...
Getting old is easy and in many ways enjoyable, as long as you have a life. Do you have any of the 3 prerequisites? Something to do, somewhere to live, someone to love (the forth is x, and that can be what ever you want). If you have one of those, it's a good start.

It's a huge topic. If you're worried, try not to be, as much of what happens, body breakdown, opinions skewed, brain gaps, clothes malfunctions, and no longer being able to consume endless beer without 3 days off and 3lbs on, happens very gradually.

Joking aside, it is important to pay attention to youself in this regard (getting old) so the coming changes can be somewhat weathered.

Remember too, as your mind and body gradually changes, you'll adapt accordingly and naturally.
So you may not be able to drink as much beer, but at the same time you won't want as much beer at the same time. See?

I don't know how old, or serious, you are. I very much remember thinking of all the 'must do's' and 'must have's' I would obtain before certain decades. All of which never happened. But other things happened instead. Let yourself be surprised. Don't be led by dogma, other peoples or your own.

Enjoy it. You're only middle-aged once.
I rely heavily on Anki for work and study. Thank you!

The android version already seems to work great. Is there a roadmap somewhere? I'm curious what's being worked on.
A Go SQL Query Builder (and struct mapper).

https://github.com/bokwoon95/go-structured-query

It was created to solve one of my pain points about scanning columns into deeply nested structs. You have full control over what columns gets mapped to what struct field, no annotation-based reflection needed. The type safe query building part was inspired by jOOQ (https://www.jooq.org/doc/latest/manual/getting-started/use-c...)
An mxn matrix can be thought of as a mapping or function from one subspace Rn and another Rm. If n=m and the matrix is square, it is possible to have an inverse mapping, (inverse matrix).
You used to be able to do that with React, too. I think I still got an app running that uses the JSX transpiler you loaded in a <script> tag...
https://threadreaderapp.com/thread/1014267515696922624.html

I hate Twitter threads too. I think this site does a nice job of pulling them together, and looks cleaner than nitter since it doesn't make each tweet look separate.
Flight sims are getting there, and with a good VR gear experience will be almost indistinguishable from the real thing. Cheaper, safer, more fun even, as you can fly whatever the hell you want.
You can't just run your typed node.js app in deno.

(Almost) all npm packages that are written in typescript expose .js and then .d.ts files, so you can't "just import the .ts". This is because of huge variances in tsconfig.json files.
Why sports stadiums are suddenly full of cardboard fans
For me and my coworkers, the leakiness is mostly around networking. If you start the wrong vpn, docker doesn’t work. If your ip tables aren’t set up just so, docker doesn’t work. Yet the documentation would lead you to believe that how docker does networking should be considered an implementation detail.
What you need to know about the hospitals data breach I South Africa
My gut tells me to trust Apple more than Intel on security. As far as I know there is no perfect security.
Tool to annotate audio files in real time. Built this because I'm taking remote saxophone lessons, but could be more broadly applicable no doubt. https://audioremarks.com/

Tool to delete items from gmail en masse per sender: https://github.com/poundifdef/gmail-deleter

Open-source website to turn recipe websites into plain-text and printable versions: https://plainoldrecipe.com/
Nothing of any importance. Managed to screw myself up to the point of having constant generalized anxiety, so yeah, things are really working out here.
What you call "Javascript's loose nature" I call a minefield of behaviors and semantics that make writing correct Javascript code so incredibly challenging.

I use Typescript everywhere I need Javascript these days, it's a breath of fresh air, and my code feels maintainable, tractable, and much easier to refactor.
Website Structur Visualisieren
Wow, good to hear from you! Hope post-LSRHS life has treated you well.

To be fair, I was there complaining about something as teenagers are wont to do so I probably put you in a bad mood :)
Stone-Age Social Networks
https://www.shavian.info
Source code of “Delores: A Thimbleweed Park mini-adventure” released
I suspect there might be more than one definition of "glue code" at play here.
Started a crowdsourced website helping people that just moved in a new city/country to "get started" [1]. Anyone can edit a spreadsheet [2] and the infos will be directly reflected on the city page.

I've lived in several countries, and I wish there was experienced expats telling me the best carrier/area to live/gym/etc... instead of trying too many things and wasting a lot of time

[1] https://travelhustlers.co/cityfaq/

[2] https://docs.google.com/spreadsheets/d/1-Lut4zmeDw9z-ikRJPH1...
I ended up switching to 2.4GHz due to interference and have had substantially better performance since. 5GHz is overloaded in my apartment block.
Forgive me, but when I program I know what the variables I am working with are doing, and what kind of data they are storing. That’s the least of my problems. I don’t write a big mess of code, I’m constantly working iteratively on a small piece of code to make it perfect. Usually first pass is to make it perfect, then I refactor it right away to make it readable. I work that way, function by function.

I never have the class of bugs in my projects that people seem to laud about typing to solve. It’s kind of ridiculous to me and cumbersome and makes certain dynamic programming concepts difficult or impossible. I don’t want to give up power just because other developers are sloppy.

I want my code to be readable, and succinct. A lot of times that requires creating functions dynamically at runtime or some other such thing that would void the benefits of a typing system anyways.

I recognize that in working with a team where people have other styles, varying attention to detail levels and skill, they can’t all be trusted to produce bug-free code without the constant nagging and overhead of a pedantic type system.

My solution is not to employ another piece of technology to solve this problem, rather it’s just not to work with those people.

If you can’t write dynamic code without a bunch of type errors at runtime, learn to be a better programmer first before blaming the tools.
Very interesting, defo interested in this space
What a measured response!
I've been working on some VHDL for an FPGA to control a little PCB I made to drive WS2812B lighting strips - https://www.anfractuosity.com/projects/lightdriver/

It took me a while to get it working as there is a bug with Xilinx Vivado when synthesising my VHDL, where the synthesizer crashes, unless I use a work around which I was told about recently.

I understand you can use MCUs to drive these lighting strips, but was a good excuse to learn more VHDL.

I need to work on an SPI driver now for the FPGA, as I plan to shovel pixel data to it, from a Pi via SPI.
Get Ready for Pharmaceutical-Grade Magic Mushroom Pills
BrandBook - a Mac app that makes it easy to share the brand identity of a company with all employees.

https://apps.apple.com/app/brandbook/id1470289369?mt=12
Super Affiliate System Review (John Crestani)Free Course
It should be noted that powerful people in the south had extreme wealth by the standards of the time.

Plantation owners in the south at the peak of slavery had Bezos-esque wealth. Although the proles in the confederacy were poor compared to their counterparts in the north (especially slaves; that's obvious!), the south was wealthier in absolute terms.

Racism was culturally endogenous, but it was also used as a tool purposefully and with surgical precision to protect and preserve the wealth.
you're kinda proving my point ... but let me ask you this : are you ok with mass manipulation and profiling ?
Thank you very much will :)
You don't have to write as many tests when you use static typing, because your method contracts are solid.

People often say this, and I don't get it. What JS tests are you writing that become unnecessary in TypeScript? I've used a fair amount of TypeScript and plain JS, and end up with similar amounts of tests for each. With JS, I almost never want to verify only that a value is of a specific type; I want to look at its contents, which means I'd need to write the same test in TypeScript.
Hand-curated remote jobs in product & UX, from across the web.

https://remotivo.com/

Of note: the site and its twitter feed (https://twitter.com/remotivocom) are generated by 2 python scripts which run on a Raspberry Pi under my desk. The 'database' is a Google Sheet and the 'host' is an S3 bucket, both of which are read from and updated every few hours by the Pi.

At the moment scraping is very basic but I’d like to automate that more. Part of the appeal at the moment (I think) is that I check the jobs to ensure they’re not scams, are actually remote, etc.
Read this by chance because I usually come to HN for tech articles, but I feel exactly the same and have been recommending this ever since. One of the most thrilling and exciting stories I've read so far.
> the most important skill is just being able to solve real problems, soft skills and breaking problems into parts. As well as the ability to self learn and research.

Seeing a very non-technical friend of mine being completely immersed in games like "Factorio" and "Satisfactory" where the entire game is essentially just putting constantly more complex and valuable resources together in automated ways is fascinating to me. He will talk about efficiency ratios until someone stops him, and when he's not playing he's reading wiki articles to better understand the problems he's presented with. The sheer look of glee and pride when he gives a tour of all the automation around his base is infectious, and although he doesn't share my amazement at my conclusion, I can't help but think that he's already doing what most engineers I work with do every day, and he doesn't even realize it.

Sometimes I feel like there's so much untapped potential out there, people that would have loved to get their hands dirty with micro-controllers, soldering, programming and all the other stuff that could help them solve real world problems, but they were just never given the chance. They never had the mentorship or the right context to develop those skills. Instead, most programming is done under soul-crushing enterprise conditions, and a lot of teaching about programming is (understandably) only about whatever will benefit you in the workplace. When you're an adult, there's no time for play, so most programmers I know would rather do anything but write code and solve problems when they come home from work.

I'm not sure what my point is here, but it is interesting how people look at programming and software engineering as something so inconceivably complex. The way I see it, it's basically just digital plumbing and carpentry, as long as you know how to use the toolbox: and most people will never even try it.
If you’re not into reading, “I am not your Negro” is a great introduction to Baldwin.

It’s on Amazon Prime video: https://www.primevideo.com/detail/0FJUJ2Z2H5U07TO08RQWCZPIPB...

Official Trailer: https://youtu.be/rNUYdgIyaPM
I made a podcast aggregator and recommender. https://podhound.co
Couldn't find your ldap internally.. would be happy to chat on what you tried to make flatbuffers go faster. Mine you can find on the go link page for flatbuffers.

FlatBuffers can be accessed instantly without deserialization or allocation, so clearly in some cases a huge speedup is possible. If in your case there was no speedup, there must be other bottlenecks.
His point about wifi network polling is spot on. I noticed this exact issue once all of my meetings moved to Zoom. It turns out that location services on my Mac frequently poll all of the nearby networks, causing tons of dropped packets which broke up the audio and video in Zoom. Once I figured this out, which took a while, I had to completely disable location services to resolve it.

Switching to a Unifi router and picking an empty DFS channel also improved my wifi experience significantly since I live in a NYC high rise. For those that don't know, many routers allow you to use a set of 5GHz "DFS" channels that are normally reserved for aircraft radar. By regulation, any router broadcasting on a DFS channel must be able to detect radar interference and switch to a non DFS channel immediately for a period of 30 minutes or so. If you live in an area that aircraft regularly hit with radar this be very disruptive, but if not, these channels often perform better than the dedicated 5GHz channels since most routers don't use DFS channels by default.
A bunch of shit on Minecraft and some dnb dj mixes