HNHacker News
TopNewBestAskShowJobs

fian

415 karma · joined January 16, 2012

submissionscomments
fian··on Closing a 30 pixel gap between native and web
Yep, we did some deep customisation of a couple of key UI widgets and found it very time consuming. Changing the Look and Feel to Nimbus was a major improvement, but that came with semi-regular breakages when performing minor version JVM updates. I vaguely remember us overriding a couple of Nimbus defaults but finding that could have unexpected consequences elsewhere in the UI (ie LaFs are complex), so we didn't go down that path much.

While Swing styling support wasn't that great, I miss the flexibility of nesting layout managers for composing complex, resizable UIs.

When Java FX was first announced, I started learning it to see how we might use it for our applications. At the time it lacked a lot of widgets we needed, but it had much better support for styling. Sadly I didn't keep up with Java FX. While I have no direct need for it in my current job, I still get the itch to whip up the occasional desktop app, so I plan on getting back up to speed soon.

fian··on Closing a 30 pixel gap between native and web
Java Swing apps were portable across Windows, Mac and Linux desktops waaayy back in 2004 and probably earlier. Write once run everywhere _was_ very much possible back then.

The biggest complaint was they didn't look native. From working on a Swing application back then, management and marketing would often ask if we could make it look more like other Windows applications, because looking like a native Windows XP application suggested it was modern and cutting edge.

As soon an iTunes landed on Windows, the requests for UI improvement changed from "make it look like Windows" to "make it look sexy" - which meant different things to different people.

Electron, to me, feels like an attempt to take a browser engine and turn it into a poor replacement for the JVM.

fian··on I assure you, medieval people bathed (2019)
Unlike many (but not all) other animals, humans spend considerable time in close proximity to other humans in enclosed spaces. If you are pungent, other people in an enclosed space with you will not appreciate your smell. I've done quite a few multi week hikes with only fresh water bathing (no soap, no deodorant) with others (2-18 other people). During the hikes we are outdoors and although we gather reasonably close (less than 1m, or a couple of feet) around a campfire or common place to eat it isn't often you'd be offended by someone else's smell. At the end of these hikes when we first get back to civilisation and are in an enclosed space again - you bet we suddenly notice how much we stink.

Many humans cross paths with hundreds to thousands of other humans every day and the set of people interacted can have great variability across days. Growing up we were taught at home and in school how important it is to regularly wash your hands. The only other examples of such a high level of social mingling for other species that springs to mind are insects swarms/hives/nests and when there are plagues (mice, locusts etc). Unlike these groups, humans are unique in having a very high degree of share tool use (door handles, public seating for transport, cross walk and lift buttons), so there is a huge potential for cross contamination. Bathing and washing with soap is probably one of the key reasons we are able to live in cities the way we do without regular disease epidemics.

fian··on The Wood Database
The Snugglepot and Cuddlepie series of children's books by May Gibbs feature Banksia men as the villains:

https://en.wikipedia.org/wiki/Snugglepot_and_Cuddlepie

fian··on Pedal Me bans staff riders from wearing helmets for safety reasons
The problems is that cars passing cyclists isn't the only time adverse car-cyclist interactions occur.

I have been T-boned by a driver approaching from the opposite direction, in full daylight with no visual disruptions, when they failed to "look bike" and turned across my lane. They totally did not see me - so they fact I was wearing a helmet did not factor at all into the situation.

I was flipped through the air and landed 10m down the side road on my back. My backpack took the brunt of of the impact but my head still snapped back and hit the ground. The helmet protected my head and prevented what would have at least been a concussion and possibly a fractured skull.

In my 30+ years of regularly cycling on roads, I'd say the majority of close calls I've had have happened in with cars turning out of side streets of with cars turning across my lane from the opposite direction. Those are due to a combination of the following in my perceived order of likelihood:

- the driver checking for cars/buses/trucks and not looking for motorcycles or bicycles - the driver seeing the cyclist but totally misjudging their speed and assuming they have time to complete their turn in front of the bike - the driver being as asshole and cutting off the cyclist.

_Maybe_ the cyclist wearing helmet could affect the second scenario. It doesn't affect the first scenario and assholes are assholes regardless of helmet wearing.

I've had less trouble with close/reckless overtaking. It does happen, but it is highly unlike the car driver completely fails to see a cyclist they are overtaking.

Saying helmets reduce rider safety due to one scenario, where the car driver has to see the helmet and thus the cyclist in order to make a more risky overtaking gap judgement call, seems like a massive stretch to me.

fian··on Google open sources solar atmospheric water generator
A similar idea from 15 years ago using a wind turbine instead of solar:

http://www.technovelgy.com/ct/Science-Fiction-News.asp?NewsN...

fian··on Scientist busts myths about how humans burn calories
To lose fat, the biochemistry requires conversion of long chain hydrocarbons (fats) to carbon dioxide and water. For a good explanation see:

https://www.abc.net.au/catalyst/where-does-fat-go/11015048

To burn fat, you need to eat less food so you tap into your fat stores, but you also need to breathe in oxygen and breathe out the carbon dioxide and water.

Exercise essentially helps to decrease your glycogen stores so you get to a fat burning state and in breathing more which will help get more oxygen for the reaction and expel the carbon dioxide and water that are produced.

fian··on Ask HN: Why is MS Teams so slow, do devs test Teams on less powerful machines?
It is related to italics.

I often use _phrase_ to italisise. This seems to trigger the left/right arrow key bug semi-regularly. This fix is to find the Teams icon in the Taskbar, right click and Quit.

Then restart Teams.

fian··on Ask HN: Easiest way to build a CRUD app?
Almost all the answers I can see at time of replying are assuming a web application. Web applications will require at a minimum HTML, CSS a server side language and probably Javascript.

To meet your criteria for:

no: >multiple programming/scripting languages to learn

You could look at building a Java FX or Java Swing desktop application with a Java server (SOAP or RPC).

Quite a few exploits (CORS, XSS) are not possible in a desktop app or are less likely to cause problems as your users aren't loading web pages.

The Java ecosystem is large and there are many stable libraries and frameworks out there that can help with CRUD application development.

The difficulty with desktop apps is updating the client on users machines. If you can get a Long Term Support (LTS) version of OpenJDK installed on your users machines, updates could be as simple as getting the users to copy paste a JAR file from a network share. There are probably nifty ways to get the client to ask the server for any updates, download the new JAR then tell the user to restart.

fian··on Ask HN: Does your team use feature flags?
Yes.

Put simply it disconnects merge and deploy from launch. This is very useful when your changes rely on other teams or third parties having gone live. Having a feature flag (we call them toggles) lets you get it into production turned off, without having to coordinate deploys with other systems.

The downsides are it is extra development overhead and adds tech debt (you should go back in and remove the toggles after a successful launch). Generally we try to devise a solution that can be deployed safely without a feature flag but they are often required.

fian··on Ask HN: Hacker claimed ownership and then deleted my Facebook Page of 50k users
I'd assume Facebook has been tracking IP addresses and other computer fingerprint info from the machine(s) you have been using to upload content.

The person who has taken ownership would have different machine fingerprint info.

So Facebook should be able to confirm you have been the main uploader for quite some time.

fian··on On the Term “Blameless Postmortem”
Root Cause Analysis is the term most used for this kind of exercise in many (non-software) engineering disciplines.

The article even mentions root cause so not sure how they didn't find that term in their searching.

When doing a root cause analysis where one or more of the identified causes is a person failed to perform an action adequately, the "blameless" bit is supposed to be about digging further to understand why they didn't.

Was it lack of training or experience? or maybe they were overloaded with work (fatigued, distracted)? or was it due to pressure to get the thing done by a deadline and therefore steps were skipped? etc

A retrospective, to me is more about continual improvement. Looking at what worked and what didn't in the last project/sprint. A root cause analysis is a different thing that you do when something has gone wrong that shouldn't have that had major consequences.

fian··on Architect behind Googleplex now says it's 'dangerous' to work at posh offices
At a previous job, I has an assigned desk and I was expected to work from the office unless I had good reason to work from home. I definitely had dominion over my desk. To the point I built my own sub-base to raise the normal sitting desk up to be a fixed standing desk. I bought my own drafting chair so I could stand or sit comfortably without needing to raise or lower the desk. So I have experience taking the authority over my environment a lot further than most.

In that role I was a solo developer attached loosely to a team of engineers. I had a fixed set of collaborators ( though most of them in other countries and timezone) for over a decade. I had no need to adapt my working location based on who I was collaborating with over time.

For my current employer, I will soon move to my fourth team and project in about 2.5 years. I regularly have a different set of collaborators to work with for short terms sub-projects. This means I often change where I locate at the office to better collaborate for the work at hand.

So yeah, for me it is about collaboration. Re-locating for the short term doesn't come with negotiating anyone else's strong territorial claim over a desk.

Sure it probably costs the company less to hot desk. My current employer, however, does truly embrace remote working and the majority of employees take advantage of that to not commute to the office every work day. Not much point maintaining a dedicated desk that you only occupy 2-3 days per week.

Different employers may hot-desk but get remote working wrong or keep people in fixed projects for very long times. If my employer required clock in at my desk ready to work and clock off didn't include returning things to my locker it wouldn't be so great. I can appreciate hot-desking may not be so great for those cases.

fian··on Architect behind Googleplex now says it's 'dangerous' to work at posh offices
My current employer has an "Activity Bases Working" philosophy.

This means we hot-desk. We do not get an assigned desk. We are likely to sit somewhere different every day you go to the office. We each get a personal locker to store items so we don't have to carry everything to/from the office each day. The desk each have at least one monitor, most have two, they are easily adjusted by height/left right and viewing angle. Each desk also has a keyboard and mouse and a USB docking station. Each desk is cleaned nightly. There are disinfecting wipes available if you feel the need to wipe down the keyboard or mouse when you arrive. Some of the desks are height adjustable. There are a few standing desks for floor as well.

Generally we are organised into semi-autonomous squads of 8-12 people though sometimes larger squads are formed. Each squad has a nominated set of desks they can claim for collaborative work. Anyone can come and sit in a squad's area if there is a free desk available. This allows for easy inter-team collaboration when required. Someone from another team can come and sit with us to work through how we will interface/integrate between our respective services.

We also have meeting rooms and other spaces available we can go work in when we need somewhere to deeply focus or have longer discussion that might impact others.

This works quite well. No one is very possessive of any particular desk or location. If you get in late sometimes you may not be able to sit with your team. Though you have the right to ask someone to move out of your teams designated area if you really do need to collaborate with your team mates.

One exception is for people that have strict ergonomic requirements. They will be assigned a dedicated desk and chair set up for their needs that don't get changed.

I don't ever feel possessive of a desk I might be using. I don't feel the need to leave things on my desk for the next day. There is a slight time cost to going to/from your locker and adjusting the monitors and chair each day to your liking - but that time is on the clock.

The biggest challenge with this arrangement is when we do increment planning. Every squad is trying to do increment planning at the same time so finding a meeting room or space becomes very challenging. Due to Covid, we have done a lot of remote working over the past couple of years and have become more adept at running meetings over Teams. So finding a physical meeting room has become less of an issue.

fian··on Ask HN: What's Up with Google?
In the past Google appeared to better honour advanced searches using boolean operators. You could add operators to narrow a search quite effectively.

From my experience, they have diluted that functionality in favour of keyword and context matching against popular searches. Often the thing I want to find is not the most popular thing. Breaking out of that and the search bubbles you get associated with is becoming increasingly difficult. I find myself more and more clicking past the first page if results hoping what I want is there just with less SEO. Rarely is there anything relevant beyond page 3. I definitely remember sometimes digging multiple pages deep into the search results and still finding useful information.

In the early days of Google the speed at which you got the search results was a major factor, I remember being surprised at the speed of response and the quality of the results the first time I was introduced to Google. They still include the search time at the top of the results.

I would prefer to regain strict boolean logic in search at the cost of increased search time. I often care more about actually finding what I want than how fast the result can be returned.

Maybe something like the default search works as it does today as it gives a fast result that has a high likelihood will contain what most people want to see. Then allow for advanced search that strictly adheres to the search terms but could take a few minutes to return the results.

fian··on Burned-Out Forests Are Not Re-Growing
https://energyinnovation.org/2021/09/16/after-the-megafires-...

The fire intensities are much higher due to various factors. This kills more of the mature trees and alters the soil nutrient composition such that it become water repellent.

The same effects have been noted in Australian mega-fires over the past decade.

fian··on We All Live on Permafrost
For those who also don't know the abbreviations:

EM = Emerging Market DM = Developed Market

fian··on Rise in single people, who earn less, worries researchers
Leeching is a pretty strong word.

Childless people pay taxes that go toward the education, childcare subsidies and healthcare for your children.

Childless people often put more effort into their work or volunteering contributions which is of net benefit to society.

Childless people often help friends and family raise their children (free childcare/baby sitting).

Childless people also realise they won't have children to look after them in their old age and many plan to have enough in retirement to pay for the additional help they need.

Why do you think only childless people blabber about social justice?

fian··on Something is killing gray whales
The packaging has a barcode so it can be scanned faster at a checkout. Faster scanning means less checkouts and staff which means lower capital and operating costs.
fian··on What if Planet 9 is a Primordial Black Hole? (2019)
This is the premise of a book by Thomas Wren:

https://www.goodreads.com/book/show/2335064.The_Doomsday_Eff...

From (distant) memory it was a fun read with some science but not overly realistic wrt to how humanity would react.

fian··on PM orders internet blocked for anyone spreading info that might frighten people
I have encountered this.

Many people just don't appear to know how to search and filter information on the internet. I regularly get asked questions I don't know the answers to but can quickly search and refine down to either an exact answer or something useful to the questioner.

They often ask me "What did you search for?" or "How did you find that out so fast?". My guess is that most people using HN will have significantly above average search and analysis skills.

The socializing aspect you highlighted may also stem from desire to be polite. I was recently accused of committing a "pub foul" when I used my phone to search for information on a question raised at a pub lunch. Personally I prefer to know the answer so I can put the question out of my mind (I'm more introverted). To other people (more extroverted), not knowing the answer may be preferable to briefly disengaging from the conversation.

fian··on The home computer as a cultural object is physically vanishing (2007)
Could you use a USB or wireless numberpad, or do you have particular ergonomics in mind leading you down the "built it" path?

You'll get 15-18 buttons you could remap to trigger whatever events you want.

On the ergonomics front, I have long wanted to try out foot pedals/buttons for Shift or a few triple key combo shortcuts I regularly use in my IDE.

fian··on All Programming Is Web Programming (2009)
You have mixed present work for the programmer with past work for the glass artist (blower?).
fian··on Programmer's Resignation from 1985
In the past senior people at major companies that were competitors entered into agreements not to poach staff from each other.

I have seen this happen to a colleague who tried to leave for a competitor. His manager at his current job found out, contacted their counterpart at the competitor and got the job offer rescinded. Needless to say, my colleague was extremely pissed off and ended up exiting to a non-competitor as soon as possible.

Also I used to work at a consultancy. The unwritten rule was that clients would not try to hire any of the consultants directly, especially if they had been seconded in to the client for an extended period. If a consultant applied for an advertised position, it wouldn't be blocked but would be frowned on and cause tension for the client with the consultancy (usually an increase in rates).

fian··on An Unbelievable Demo
For what it is worth, as an Australian I quite enjoyed:

Zone Blanche Lupin L'ascension Le grand bain

fian··on After a week at my mom’s house I'm getting ads for her toothpaste brand
There are definitely IP address based tracking going on.

My partners birthday was coming up and I thought she might like a weighted blanket as a gift.

Within 10 mins of doing some light searching for prices and local outlets on my office computer, she came into my office smiling asking if I was planning on buying her one for her birthday.

She had suddenly seen multiple ads for weighted blankets appear on Facebook.

This was the most obvious example, but there have been many others were one of us researching something through our home internet connection will affect the advertising the other person sees.

I now have to be more careful in how I do my gift searching. Personally, I'm not really seeing this type of targeted advertising as a net positive.

fian··on All About Cockatoos (2002)
Not cockatoos but I have had my hiking backpack opened by black currawongs in Tasmania:

https://en.wikipedia.org/wiki/Black_currawong#Feeding

My hiking buddy and I dropped our packs to climb Mount Ossa off the side of the Overland Track. We had been warned that the currawongs would try to get into our packs. So we zipped everything up tight, pulled the rain covers on and placed them face down (ie strap side to the sky).

When we got back from we found the birds had pulled off my pack cover and managed to open the zip for the pocket on the top of my pack and pull out a bunch of stuff. The pack cover fit quite tight, so I was surprised the birds had the strength to pull it off. The zip needs to be pulled a just the right angle to move freely, so they must have known which way to pull the tag and been persistent at trying different angles until it opened.

A quick search shows I'm not the only victim, the link below includes numerous matching stories with some photos of the aftermath:

https://bushwalk.com/forum/viewtopic.php?f=37&t=23012

fian··on Java Is Underhyped
It's an Ant build file - nothing complex at all. If you no or few dependencies and are comfortable managing them manually, Ant is fine.

Non-networked applications don't tend to need to be so paranoid about keeping up to date with the latest versions of dependencies.

fian··on Java Is Underhyped
Sure _then_ you might opt to use Maven or Gradle.

My point is there are a wide variety of application types out there, not everything is a web application, not everything needs to use a complex build and dependency management system.

fian··on Java Is Underhyped
Guess I'm nobody. I created a simple Swing (desktop) app in Java a couple of weeks ago. The process was something like:

Create new Java project in IDE Add no dependencies Use the built in IDE tooling to create a runnable JAR and tick the box to export the Ant build to a build.xml file.

Why would I want to complicate things by adding Maven/Gradle to the mix?

← PreviousPage 2 of 8Next →