HN user

loopbit

552 karma

[ my public key: https://keybase.io/loopbit; my proof: https://keybase.io/loopbit/sigs/uW-yG9kZsjMR2Dn7C1RrNctwPfUOGtFxP755IyBMQuw ]

Kismet: ad05fa81ecb1852190e9251027c7456b876451720fc465c1790e1f3e63220fac

Posts1
Comments199
View on HN

Back in the ancient times of the early 2000's I had to deal with a massive, legacy java codebade.

I found a small free library called MaintainJ that used aspect-oriented programming as you used the app. It was great to make sense of how everything was pieced together: You coul fire it up, run through a single scenario (user log in, add to cart...) and generate a flow diagram of just that scenario.

The library still exists, http://www.maintainj.com but I haven't used it in +15 years, so no idea how it is today.

Changed Europe? Changed the UK and very little else...

I mean, it's a cool bit of engineering and it took ages to build. But for most people in Europe means nothing.

"It put international rail travel back in the game"

Yeah, for England. Again, for the rest of Europe, rail travel was always there.

Depends, code that was not written with testing in mind can be very difficult to cover without some major refactoring.

Adding the first tests can be a slow and painful process.

Now, once you have those few tests? Yep! Add a few tests along the ones for the new functionality every time you touch a piece of code or pick the low hanging fruit every now and again and you can get to a useful test suite in no time.

I'm of the same opinion. I love getting feedback, better if it's constructive, but all kind of honest feedback is useful and welcome. And it doesn't always come from people with more experience, sometimes a greenhorn will see things that a greybeard like me doesn't.

But I've seen people giving negative responses to the best feedback. Hell, I've had people complaining for hours because someone else replaced their manual process that took an hour to do with a script (and copy&paste of the result) that took literally seconds to run.

Management and engineering are two different careers, so I wouldn't call it "upgrading".

Having the technical chops definitely helps as a manager. And knowing what the managers expect and be able to talk their language helps as an engineer. If you reach certain level its easy to jump between them. But they require a different set of skills and the work is different.

If you like it, there are a lot of rewards. If you don't, it can be soul-sucking.

Not sure what to tell you... If I remember correctly, the last time I restarted Firefox was to update it, around the 5th of May (I have version 76.0). Generally speaking I don't restart it (or the laptop) except for that.

No addons other than uBlock Origin, TST and LastPass.

Yep, my todo lists are all trees. Even when I'm writing a document, I first put the table of contents as a tree and then fill in the different sections :)

I have one exception, though. Mind-mapping.

I will use mind mapping tools for todos and notes. But for real mind mapping I use full blown graphs.

Really? I have, right now, 290 opened tabs dangling from the hacker news homepage and about 20 other "root" tabs with more trees.

All in all, ~450 opened tabs in 6 different containers.

Firefox is using ~8% of CPU and 670MB of RAM. Macbook Pro retina mid 2012.

Have you ever used a complex database in a formal, by-the-book, third normal form?

The number of tables explodes, the number of joins become a pain and every single data change requires careful planning.

As for the "many database systems support materialized queries", I only know of a few that truly do: Oracle and DB2.

PostsgreSQL supports them, but you need to handle updating them yourself. SQL server kind of supports them, but are limited.

In other RDBMs you can work around that using triggers (or similar concepts), but that IMHO is definitely a bad practice and the times I've used that (usually because there was no other option) has only brought me grief.

As someone who's only touched Ruby for a few years

Well... Gemfile.lock has nothing to do with rails and all to do with Bundler, but if you've never used Bundler for dependency management it's possible that it's new to you.

But Bundler (and the Gemfile and Gemfile.lock) are one of the core components of rails, they even get mentioned in the getting started page (https://guides.rubyonrails.org/getting_started.html).

I only have a couple of years of experience with rails and haven't touched it in 6 years, but I'd be very sceptical of any article that tries to teach how to build projects in rails and doesn't even get those basics right.

Old CSS, New CSS 6 years ago

I used NN3 and 4 back in the day (and still do, kinda, Firefox is still my main browser), but man, writing CSS for Netscape was a nightmare!

I still remember that weird bug that forced everyone to create a single, empty, invisible DIV at the beginning of the page if you wanted to set absolute positions for the other DIVs in the page.

In Javascript land, we all had our little script to detect the browser and do things like finding the element you wanted (IIRC, only IE had find by id).

All in all, I miss the carefulness webdevs had to have at the time (I remember uglifying my files by hand to make everything weight less than 24KB, which was the self-imposed limit we had at the dotcom I worked at) but, in general, I don't miss those days at all.

Not only for macs... I have 4 raspberry pi4 powered through an USB hub and spent quite a bit of time looking for one that had at least 4 ports and that every port could deliver a minimum of 5V-3A. The US amazon had a few, but trying to find them (or similar) in several european Amazons was quite difficult.

I remember when the anti-glare was the default and you had to pay a few quid more for the glossy.

Then they changed so the default was glossy and anti-glare was more expensive (but, IIRC, had more resolution).

The retina display is the first one I remember where the anti-glare option was not available.

Leukaemia survivor here... It might be a stupid question and everyone is different, but have you tried fresh fruit and ginger ale?

I went through six months where that was all I could eat/drink. Another patient in the ward suggested ginger ale and it was a surprise (had never drank it before... or since).

Nausea got so bad that even thinking about it (for example when a doctor asked) would trigger throwing up so I get what you mean about PTSD.

All my best wishes for you both.

I completely agree with you.

The thing is, I might be able to see this "working" in very simple and limited processes[0]... But going back to your example of the nasty bug in complex software, I believe the post's idea is that you shouldn't fix the bug in the layer it's happening, but, instead, write a new b-thread that corrects that behavior.

Which might sound nice in theory but I feel it's much more likely that you won't be able to fix it there (the info you need might be lost in a previous b-thread) or become a piece of code so complex that negates any supposedly benefit that this system had in the first place.

[0] It might be just me and completely off-topic, but this reminds me a bit of rule-based expert systems, where the rules get activated by certain conditions and produce effects (that can activate other rules). The idea was always that you could model very complex (and emerging) behaviors based on very simple, human readable rules. The thing is that you could definitely add/tweak/remove the rules as needed.

A bit late to the discussion, but does it really change that much if, instead of "my country", I say "Spain"?

In this case Spain hasn't done anything wrong (the data gathering for the id cards was done before entering the EU and complies with EU's regulations[0]). Other EU countries gather less or more data according to their specific legislations.

The country in question here is the UK and, to a lesser extent, the US. Specifics about other EU countries are, IMHO, irrelevant.

[0] Another question, for a different discussion, is if they should record all that data.

Maybe that data doesn't exist in your country.

In mine, the police has the picture and fingerprints of everyone older than 12 years old and any younger person that needed an ID card for whatever reason, travelling being just one.

Maybe that information has been shared with that database, maybe it hasn't. I have no way of knowing. Other EU countries have the same level of information about their citizens (and some record even more data).

Can we simply agree that what the UK has done is bad, should be investigated and, if true, the people resposible should face charges for it? Or should we spend days arguing about what information might/might not have been copied and how many people have been afected?

I'm also multilingual and can confirm that at least some aspects of the languages mentioned that I know, are accurate.

For a few years I was also a language teacher and this article explains one of the things students have problems understanding.

No, I'm not fresh out of school and I wasn't unemployed (...well, see below). I have about 20 years of experience and have worked in 5 countries. However, my situation was... well, not unique (unfortunately), but challenging:

- Yes, I was employed. In a startup paying me about 60% of the current market salary, no benefits of any kind (they promised shares and many other stuff, never delivered), with incompetent managers and going downhill towards bankrupcy (I don't understand why the only investor they have keeps giving them money). Obviously I wanted to leave.

- I joined said startup because of my personal situation. I was diagnosed with leukaemia in 2015 and spent almost a year in the hospital. When I finished that part of the treatment, even thinking was difficult (chemo brain is a real *&%#) and I still had 2 years in front of me of daily chemo ("only" tablets) and weekly visits to the hospital. Even after I finished the chemo, it took me almost a year to go back to normal. The founders of this startup were friends of a friend, gave me a lot of flexibility and the minimum salary that I needed to live (pay rent, utilities, food...). I started going to the office to help with database queries and ETL processes, ended up managing the data science and data engineering teams and looking after most of the infrastructure of the company. But neither my salary or benefits changed.

- I made many mistakes in my first interviews. I hadn't done an interview in 9 years and even then I used to interview for engineering roles while now I was going for senior manager/VP level roles (basically, what I've been doing for the last 7 years). It took me a while to learn the lingo, to identify the red flags and prepare good answers for all the common questions. Funnily enough, not many people asked me about the obvious 1 year gap in my cv.

- Hot market depends on your location and what roles you look for. Developers with a couple years of experience? Sure, way more companies looking to fill in roles than people wanting to move. Specialists in a niche field? Might have problems finding a new job. 40 year old generalists looking for management positions? Not that many open positions that are posted online and not filled in by personal recommendation (and yes, most of the jobs I've applied to have been through my network).

- Many of the companies I interviewed with had all the issues OP mentions and a couple more. Some gave me topcoder-style interviews, where I had to come up and code efficient algorithms for complex problems. I understand (and welcome!) a technical test to prove that I'm not lying and I do have a technical background, but asking a VP of engineering to code an efficient solution for the knapsack problem in 1 hour is stupid, any way you look at it. Personally, all the code I've written in the last 6 years has been either a) as a hobby, b) small, non-critical-path tasks that helped me maintain some familiarity with the different environments and reduced a bit of load from my team(s) or c) stuff that no one else in the company understood (mostly around infrastructure). Ask me about sofware architecture, data storage, distributed systems and machine learning and I can easily argue with you pros and cons of different stacks and approaches. Ask me how to manage fully remote/distributed teams and I'll talk about lessons learnt, things I tried and worked and mistakes I made. Ask me about hiring, mentoring, budgeting, project managing, investor relations... Whatever you want, and I'll be completely honest about what I know, what I've done and what I don't know/haven't done. But ask me to write a java class and I'll need to google the correct way of declaring a constructor ("public void"? "public static void"? How did you declare the args parameter? an array of Strings?).

- Why I applied to so many? Because I had to. I would have loved to get an offer from the first 2-3 companies I applied (and I applied and got interviews from some really cool companies, including the one I've signed with). But I didn't. So I had to continue searching in a race against time before the place that I was working at imploded. After how my life has been the last decade, I have no safety net and can't afford to be unemployed.

- Interested in all of them? Of course I was. I didn't apply to any company I disliked, for example consulting companies, offshore/nearshore and most of fintech. Either you are much pickier than I am (at the end of the day I mostly look for a few things: Good, professional people, a company that values its employees and a decent compensation package, anything else is a bonus) or seriously underestimate the amount of companies out there that are doing interesting things even in the most boring environments.

- A lot of work? Well, yes and no... I've spent most of my vacation days on half-day offs to go to physical interviews and working evenings to recover time spent in phone/video interviews. But in general it's being easy managing the latter and if you look at it as a time management problem, there's plenty of tools out there to help you keep track of everything (calendar, trello, job alerts...).

You might have not experienced it and if you didn't, congratulations! I'm happy for you (honestly!). But these problems exist all across the board.

My last job hunt (signed a new contract just a few weeks ago) has taken me 3 months and I've seen all of the issues OP (and some of the comments) mentions, not only in startups, but also in fortune 500 companies and everything in between (including quite a few companies in the "best place to work" ranking). I've probably sent about 60-70 cv's and most of them have gotten me at least a phone interview (about 50? I lost count but in the document I was using to keep track of open processes I have 30 companies).

One of my ex-managers (and one of the best I've ever had, at that) is also job hunting (after taking a year off after being made redundant in a merge). He's in his 50's and the stuff he tells is even worse than my own experiences.