HNHacker News
TopNewBestAskShowJobs

rablackburn

846 karma · joined April 6, 2020

submissionscomments
rablackburn··on Svelte Cubed
I had this on my machine the other day (while developing with Plotly in webGL mode).

A proper restart fixed it. Happened after installing some system updates, so if you’re on a Ubuntu (or downstream) distro maybe give that a shot. I think something just got left in a bad state post-update.

rablackburn··on How to grow sodium chloride crystals at home
I’m guessing if they don’t receive a narrative from you they infer that you probably didn’t write the actual assignment.
rablackburn··on Google Outage in Europe
It’s the perfect connection test.

9 times out of 10 if you can’t connect to hn the problem is you, not them. Probably even 99/100

rablackburn··on Why Tokyo Works
It’s not quite subsidiarity, at least not in the strict sense you’ve quoted. It’s not so much an organising principle as just how it’s always been done. The central government just doesn’t want to deal with certain problems.

Going back to the 16th century unification of Japan the central government didn’t deal with individuals, they dealt with villages. You didn’t pay tax, the village did, as along as the tax gets paid they don’t really care who’s paying what.

If the central government decides it wants to intervene more directly, there’s not much you can do to stop them. (Except give them the run around/work slow, and hope they don’t care enough to bring in the troops).

I don’t think there’s anything hugely novel in their political structure, the difference is cultural. Design your system however you want, without the cultural commitment it won’t work (see: Liberia adopting the US constitution).

You get around the tall poppy/not rocking the boat problem by consensus building. Japan is very good at collective action problems.

rablackburn··on Why Tokyo Works
Yes, I critique it out of love, not mockery. I think my original comment still comes across as very supportive of the Japanese immigration system. To their credit, they have made it much easier in recent years.
rablackburn··on Why Tokyo Works
> if you're young enough and make enough money

I'm a little facetious about this because I find it a little galling that the solution is "but if you're rich, it's okay". Yep, everything is much smoother when you have money. I'd sure enjoy it more haha.

But yes, it is becoming much easier over time compared to the old system.

rablackburn··on Why Tokyo Works
Yes, the "if you're very rich, young, and have a particularly valuable skill" loophole. Every society makes its exceptions ;)
rablackburn··on Why Tokyo Works
A good example I like to use about how much they are intentionally cultivating these values is to compare the requirements for becoming a citizen vs getting permanent residency:

Citizenship gives you full rights. You can vote, you can’t be deported from the country, you are a Japanese citizen. To qualify for this you need to live and work in the country for five years.

Permanent residency is like citizenship but not as many rights. You don’t necessarily need a job to stay in the country, we promise not to kick you out…unless you do something blatantly anti-social (crime). To qualify for these reduced rights takes…ten years. Twice as long as citizenship would.

But part of the deal with citizenship is you renounce your other nationalities and really commit to becoming Japanese. The government will send a representative to inspect your life; your apartment and social circle, and make sure you are sufficiently integrated. But if you’re willing to commit to Japan, they’re willing to have you after just five years.

But if you’ve been living there for years and still don’t want to commit to the community, they will begrudgingly give you PR, but they’ll make you wait twice as long in protest.

It’s a tough system, but it’s incredibly effective at protecting their cultural values that enables things like Tokyo to exist.

For what it’s worth, while I’ve experienced my fair share of racism there, I’ve also been embraced far more than I’ve been rejected.

I remember eating at the Michelin 3-star sushi restaurant of a famous chef who became infamous for how he was treating/refusing to serve some foreigners. Just getting a reservation as a foreigner was insanity.

But when I showed up (in a new suit, no less) and spoke with him, he kept us by the bar chatting with him all night. He just struggled dealing with non-culturally Japanese people come in, not understand what he was trying to do, and destroying the atmosphere he was dedicating his life to creating.

I knew the rules, and he was an incredibly gracious host to me and my guest as a result.

Japan is far more xenophobic than it is racist, but they’re more so xenophilic once you get a drink into them ;)

rablackburn··on Why Tokyo Works
The Japanese are experts at saying “no” without explicitly saying no haha.

So yeah, bury it in paperwork. Lots of teeth-sucking and sending you to other sections. Infuriating if you’re on the receiving end, but it gives enough cover for local communities to push back

rablackburn··on Why Tokyo Works
It did start with a center. What is currently the imperial palace was originally Edo castle that Tokugawa built when he decided to move the capital there. But it was a castle city like any other once it was built.

But as people moved there and the daimyō’s money flowed in, it began growing outwards engulfing the surrounding towns and villages. The exact type of growth you ascribe to London and Paris.

rablackburn··on Why Tokyo Works
Despite the title, people who have never lived in Japan probably still don’t have a great idea of how it runs after reading the article.

So here’s a quick rundown of how the decentralisation mentioned in the article is structured: Japan is split into 47 todōfuken (都道府県), their closest analog to a US “state”. You’ll hear these called “Prefectures”, but just like the US has states (Washington) and territories (Washington DC), Japan only has 43 prefectures, the rest are technically different types of district. Tokyo is (the only) “metropolis” region directly under the national government.

Across Japan every local district is split up into shichōson (市町村), cities, towns, and villages.

“Central” Tokyo is a special area where that standard shichōson system doesn’t apply, except really it does, we just call things “wards” instead.

Every local district, whether city, town, village, or ward, is essentially the face of government in that community. They provide public services like sanitation, education, and community engagement events. When it’s time to vote, you will go to your local [city|town|village|ward] office and do it there.

These local offices have quite a bit of power (and are what people are talking about most of the time when they refer to the “infamous” Japanese bureaucracy. For an excellent film looking at this world, I cannot recommend Kurosawa’s “Ikiru” enough. I believe it’s in IMDbs top 10 of all time), while they are often ridiculed for being slow and stuffy, they are a very real check and balance against the prefectural and national governments.

Tokyo has a city-wide government (analogous to a state government) that is politically important at a national level, an example of the more illustrious institutions run by this level is the famous Tokyo metropolitan police.

As the article stated, Tokyo is rich. 10th largest gdp nation in the world if it was an independent nation, this means there’s a lot of money flowing through that city government. Depending on who you ask, this is the level that shady deals, and blatant corruption happens most. The tabloids are always busy in Tokyo.

The point is, all these powers seem to be quite well-balanced, and the citizenry engaged enough to keep them in check, in other words, like a well functioning democracy. I’m not saying it doesn’t have its downsides, and I’m no fan of Tokyo after living there for four years, but it is a remarkably well-working system. I’d still rather be in Osaka, or better yet, the countryside tbh.

rablackburn··on Live Not by Lies (1974)
Thank _you_ for leaving this comment :)

I've had my own issues dealing with the world as it is, so I'm very glad I could make a difference for someone.

I wish you all the best with your struggles; you do whatever you can, and so will I. Hopefully there's enough of us to make a difference :)

rablackburn··on Live Not by Lies (1974)
I’d argue that you’re being overly fatalistic. You call out actions you can take (talking to those close to you) and yet claim “you have no weapons to fight”. It’s just the degree of personal suffering you’re willing to risk.

I think part of the message of the writing is that thinking of what’s “feasible” is the trap that prolongs the ideology of the time.

Yep, society can crush you and there’s not much you can do about it. But it won’t get better unless you stand against it anyway.

That’s one the hardest things you can do, but countless humans have done it before you, and we praise and honour them (when we remember them). So much of commemoration and remembrance rites/ceremonies is is trying to prolong the memory of their hard, but correct choice.

We even honour those who fought against “us” when we recognise the costs they knowingly paid for their beliefs.

It’s our capacity to be noble that the essay calls out to. And sure enough, it has a cost and may not succeed.

If you are guaranteed to fail, and speak out anyway, all the more noble. And perversely enough, if enough people agree that it’s worth doing despite the certainty of failure, suddenly success isn’t impossible anymore

rablackburn··on Bash functions are better than I thought
A “side-effect” in this case is the ability for a function you call to do something “outside” of itself. For example, to change the value of a global variable.

It’s generally considered best practice (in the functional programming community at least) to write “pure” functions (that is, functions without side effects) because it’s much easier to reason about what they are doing.

So good news, subshells can _only_ be pure (the only way to get anything back from them is if they write some string to stdout), but sometimes you do actually want to have some side-effects (imagine a function that reads a config file and then wants to set some of the global variables to the values found there).

Well, bad luck. If you use the subshell syntax you literally can’t do that.

rablackburn··on How to help a programming student get unstuck
You've been down-voted, but you're absolutely correct in some situations.

Sure, answering those questions with "this is a great opportunity to learn how to read the documentation" is the "right" response.

But I think we've all experienced the frustration of trying to write something in a language we don't use every day, and 'wasting' our time looking up simple things ("okay, what's the exact syntax of a for-loop in this language again?") that just adds friction when we're trying to solve a problem. There's a reason programmers complain so much about being interrupted.

Part of being a good teacher is being able to make those points of friction disappear and enable your students to "get it" and experience the joy of solving a problem.

Don't let perfect be the enemy of good. How many kids would play football/soccer if you were only allowed to play a match with regulation numbers of players on each side, and stopping play every time someone didn't have 'perfect' form?

rablackburn··on How to help a programming student get unstuck
hah, love that. "NePoCU"

I've realised immigrants, expats, bilinguals, and just anyone who has lived experience at the interfaces of different cultures are particularly good at this.

When you're both speaking your non-native language in a murky context you 'negotiate' back and forth, using simpler and simpler language (and hand gestures!) until you both agree you're at the NePoCU, and then you slowly build back up and have a great conversation. It's how things like pidgin trading languages emerge.

And of course it's a fun time because you both feel a little ridiculous struggling so dramatically to explain such simple words. Have those conversations in a bar, or over cups of tea, and you'll make some great friends and get invited to 'real' local events :)

rablackburn··on How to help a programming student get unstuck
I love that taxonomy of TODOs, I'm stealing that ;)

> I think what a lot of instructors fail at is they don't give students a working example of how something works. Sure you're not really going to learn, but what's the point of me having a half-assed assignment that isn't useful for me referencing a couple years down the road?

Like everything else in life it's a balancing act (or a chicken and egg problem). In a university/college context in particular it's not about being practical, it's about learning the (hopefully up-to-date) theory. There are concepts, classes of problems, and mental tools in computer science that are extremely valuable, but if you don't teach them explicitly you have everyone reinventing the wheel, and worse, doing it without a common vocabulary.

But as a student you can learn/memorise some concept (let's say recursion as an example), but you never really 'get it' until you've struggled with a real-world problem and realised that recursion solves it elegantly.

Sometimes the way we teach reminds me of hypnopaedia/sleep-teaching in Brave New World:

``` A small boy, asleep on his right side, the right arm stuck out, the right hand hanging limply over the edge of the bed. Through a round grating in the side of a box a voice speaks softly.

'The Nile is the longest river in Africa and the second in the length of all rivers of the globe. Although falling short of the length...'

At breakfast the next morning, 'Tommy,' someone says, 'do you know which is the longest river in Africa?' A shaking of the head. 'But don't you remember something that begins: 'The Nile is the...'

'The-Nile-is-the-longest-river-in-Africa-and-the-second-in-length-of-all-the-rivers-of-the-globe...' The words come rushing out. 'Although-falling-short-of...'

'Well now, which is the longest river in Africa?'

The eyes are blank. 'I don't know.' ```

The takeaway (in the book at least) is that rote-learning like that has no value because its not conscious knowledge (but it's great for _moral_ lessons, like 'Ending is better than mending'). But I've lost count of the times where I've come up against a problem that niggles at the mind and realised I learned to solve it years ago at university, and it all falls into place. If nothing else, you know what to google for.

So I've come around full circle on how theory-heavy universities are (if we don't teach theory at university, where would we teach it?), but agree that there's a huge benefit to student experience by pairing it with exposure to full systems.

The older I get the more I find myself regretting (/resenting) how we've off-loaded so much job training to universities. You know how students can get exposed to real-world systems and learn real-world lessons? By having them recruited by real-world companies who invest in their development.

Seems like a CS degree would be most useful after you've been working with real-world code for ~5 years. Perhaps we need to split out most of the content of the current undergrad degrees into a CS equivalent of an MBA? Let the undergrads focus on practicality (ie, making the MIT missing semester the core experience), then come back in a few years to learn all the "correct terms" for the problems you've been coming across and learn the best-practice/optimal approaches.

rablackburn··on How to help a programming student get unstuck
All the best teachers I've worked with have this skill. I use the "translator" analogy as well.

Though I've found it's not so much "remembering" the confusion and mysteries from your own past, but paying very close attention to the student(s) so you notice as soon as there's some divergence in their mental model from what you're trying to relate.

Stop, slow down, address the assumptions you didn't even realise you were making, and it's amazing how much complexity and knowledge you can seemingly transfer into someone else's brain.

Of course they'll forget 2/3 of it over night, but it's easier next time, and once they've "gotten" it (and the corresponding endorphins) once they've got way more motivation to keep going.

rablackburn··on Ask HN: I'm 10 years into CS career, but rarely code anymore. Is this normal?
I just had the same experience, I basically sailed through to the final interview: four 45min sessions, the first of which was algorithms and data structures.

I actually completed the task fine, but it definitely took me fumbling around a little to get there. I made a point of explaining my thought process and the questions I was asking as I went, but the problem just wasn’t one you come across much in real-world work. (And you know, algos as the first session in the morning before your brain is fully warmed up is brutal)

Importantly, the other sessions (two covering tech they actually use day to day, and a cultural fit one) went great. In the end they passed on me, and when they asked “do you know why?” I correctly guessed it was the lacklustre algo performance. They invited me to “do some study and try again in 12 months”.

Interestingly, the fact that they weighed it so heavily turned me off working there anyway. I was also surprised they didn’t ask me for any feedback on the interview process.

It was a very interesting experience, but I’ve learned that if I want to apply to anything similar in the future I’ll definitely need to grind more leetcode in preparation.

But I’m enjoying taking a break and working on side projects now anyway, and am thinking I won’t be back in an office for awhile :)

rablackburn··on Eliminating gifted programs won’t make education fair
“Steal” is a deliberately inaccurate word there. Especially considering that in your own list of offences “steal” only makes a single appearance. Even then, I’m not sure if “steal” is the correct verb for “non-optimal profit distribution”.

Note I’m pretty sympathetic to the argument that extreme wealth inequality (billionaires) are are symptom of a poorly configured economic system and should be minimised, but your hyperbole is off-putting. And it’s probably hindering rather than helping you make your point.

rablackburn··on Pop OS – System76
Nope, I want the same thing and just turned off the tiling desktop feature because it was easier to manually juggle them.
rablackburn··on Paracetamol use during pregnancy – a call for precautionary action
We’re projected to stabilise off at about 10 billion I believe. Which while a huge number, is not unsustained exponential growth.

As countries get richer and women gain better access to education and improved rights, the countries seem to go through an inflection point where suddenly no one wants to have children and the birth rate falls below replacement (2.0, two children to replace two parents)

For us as a species to survive we need to try and stabilise that at 2.0 + some small safety margin (to make up for infertility, people who really don’t want children, or physically can’t).

While we’re bound to one planet (which it looks like is going to be for awhile, “sending people to Mars” is very different from “sizeable % of the total human population living on Mars”) it’s preferable for that stable population point to be as small as possible.

10 billion is a lot, but it looks stable at least. If we bring our replacement rate down more to peak the total population earlier, we have this weird problem where the replacement rate is well below 2.0, so no one is having children, and we suddenly have to convince people to start having more.

It feels like everything else in life; the birthrate would keep yo-yo-ing above and below replacement rate, and we really don’t want it above while it’s so cramped here and we’re messing up fundamental environmental systems that we rely on.

Like everything else these days it seems like it kind of comes back to “well, if you want to do something, first we’ve got to deal with climate instability”. /shrug

rablackburn··on Spaces launch in Element
I think this feature enables a much more discord-like environment, in which case it totally makes sense why they enabled to for everyone.

Like it or not, discord has taken the market for a lot of younger software projects and geeky communities. If we could get them to use foss matrix instead that’d be a huge win.

rablackburn··on Disclosure of three 0-day iOS vulnerabilities
Right, it’s hard to compromise a kettle and manual grinder, the only thing I could possibly consider a benefit of a networked coffee machine is you can schedule it/script it with home assistant.

But even then, I’m pretty sure you can buy simple electric ones with timers…

rablackburn··on Ask HN: Why is Confluence Wiki Search so bad?
It’s not that confluence doesn’t require a server, or a technological feature at all, it’s about the business processes.

The business is guided to build a setup where setting up confluence is no-friction. Whereas a one-off generic server is much higher in comparison.

rablackburn··on TSA’s “See cash, seize cash” policy
I’m not aware of any domestic terror attacks (shootings?) where asset forfeiture has even been raised as a contributing factor.

The Las Vegas shooter is kinda-money related in that he was a problem gambler. That’s the closest I can think of.

Do you have any citation where this has happened? Because if not, that’s probably a pretty poor “bet” you’re making…

rablackburn··on Ask HN: Why is Confluence Wiki Search so bad?
If this is a serious question, this is why:

Confluence users are enterprise companies, and getting a self-hosted server up and running is too much pain to be bothered to deal with.

This is a process problem. The steps to get one would be something like:

- try and find the “provision a server” option in the corporate service portal (there probably isn’t one)

- ask someone if they know how to provision one. Get a link to a separate system where you can make the request

- you need to associate the instance with a cost centre, or maybe you literally need a credit card number, don’t forget to attach written manager approval

- update the project’s budget to include the unexpected cost of this internal service. Hopefully there’s actually some margin to afford it.

- wait a day or two for the request to go through

- get the instance details, RDP in and try and set everything up. Realise you need to make a separate request for admin rights to install non-base software if you don’t want to use IIS and MSSQL server

- wait a day for admin rights. Don’t forget to add written manager approval to the request or else it will be denied

- realise you need to make a separate DNS request to get a friendly url for the team to access it. Also, how are you going to secure access to just your team members? Need to integrate with the corporate AD

- …about a dozen more steps

Compare all of that with:

- Go to the corporate confluence instance

- click “Create”, add your team members with edit rights.

- done

Confluence itself may not be a great experience to use, but it’s solving the problem of getting to the point of having a wiki setup in the first place.

rablackburn··on RIP Jekyll (The Genesis of the Jamstack)
Ladies and Gentlemen, the network lock-in effect in action.

Humour aside, you would do it if you wanted to encourage movement of the closed silos. It's not likely that your irl friends and family will make the jump anytime soon, but getting dev communities to make the switch is a much more tractable problem.

rablackburn··on Australian Federal Court rules AI can be registered as the inventor of a patent
Submission statement:

The legal decision aside, I found the Background section to be a fantastic mini-primer on neural nets and AI.

rablackburn··on Canistilluse.com
Australia just cancelled our equivalent :(

It’s been open-sourced and forked here if people would like to help keep it alive:

https://designsystemau.org/

← PreviousPage 5 of 7Next →