FourthProtocol

Joined 15 years ago

Karma
3,590
Submissions
1,337
Member since
Oct 5
Find me on https://www.wittenburg.co.uk
View on Hacker News

Recent submissions

Comment · 2 years ago
My website started as html in 1995, vanilla html, not even css or Javascript. It has evolved to accommodate stats, and at some point (whenever it was that it was first released) I created an ASP template to manage headers, footers, contacts.

Used to update things whenever a new ASP version was released, but haven't bothered for years.

Process is simple - copy ASP template, rename, fill in the content, FTP to hosting Co and done.

Comment · 2 years ago
Comment · 3 years ago
Linux is not an option for me. I think I've heard the "just move to Linix" thing more often than I've brushed my teeth.

I'm staying with Windows both because I've been using Microsoft's tech since MS-Dos 2 back in 1985, and work is a Microsoft estate, again making Linux a no-go for me.

That said, I have Windows 11 on my Surface, and usability stinks to high heaven, squared. And so I will stick with Windows 10. I'm keeping an eye on 11 via the Surface, but not hoping for usability to get easier in the near future...

Comment · 3 years ago
Admittedly I'm a greybeard. Wrote my first app in 1984. Moved through the ranks, from support to dev roles, application architecture, enterprise architecture and finially process optimisation.

And so wow, those diagrams in the links - how does one even manage all those boxes?!?

Architecture is easier than coding, if you stay away from more/bigger/but_my_app_is_a_special_little_snowflake mantras. Consider the age-old, tried, tested, proven architecture models of yore (other than their most excellent diagram notations, stay away from UML).

Architecture (design) is layered, not spaghetti thrown at a wall, hoping something sticks. Most (99.9%) software domains can be divided into three horizontal layers -

1. UI

2. Application/business layer

3. Data layer

(note that both internal and external service layers sit at the same level as data layers, allowing them to be called from the application layer)

Finally, there are vertical layers (shared across the initial three layers) These typically include -

4. Communication

5. Exception management

6. Security

7. Logs

Start with that as an overview/index of the entire solution, and when the beast needs to grow, just grow it. But grow it wisely. Use the standard 3-tiered architecture model. Re-use those cross-cutting concens in new applications.

Federate identities. Standardise access/permissions management.

Finally, don't feel compelled to use all the things - if the solution is services-based, don't code a UI for it. Simply connect your client to the relevant, existing service. Yes, services can be tiered, assuming your management processes are mature.

As to the management issue. Governance is what keeps your estate from turning into a hairball. Make extensive and judicious use of

1. Risk management

2. Change management

3. Stakeholder management

4. Design reviews

5. Project review (where team members grade managers)

Establish a technical design authority. The TDA concerns itself with broadly technical matters that facilitate a system-wide perspective. This might include -

1. Systems and solutions

2. Data

3. Communications

4. Quality objectives, including security

5. Development and development operations (devops)

6. Infrastructure (including but not limited to directories; networks; servers, both on-site and remote/in clouds; workstations and mobile devices).

7. Testing (Tools, techniques, platforms, languages and frameworks)

8. Locations

Comment · 3 years ago
Comment · 3 years ago
GDS did a great job building gov.uk, but everythig else they touched was an abject disaster. From the Diabetes project at the NHS, the fiasco that was the Office of the Public Guardian, the even bigger fiasco that happened at Border Force, the NHS, DWP...

Sure, when they were building web sites they delivered stellar stuff. Agile, break things and all that. But when you had real complexity they just... couldn't...

The Government Gateway is a prime example - single citizen login for ALL government services. It ran well, super robust and mature enough to have ironed out virtually all issues.

Then GDS decided that because the Government Gateway was based on a Microsoft stack, it needed to be re-done. The tech lead didn't understand the concept of Identity Federation, let alone SAML tokens, and that you just! can't! do secure code using agile (2-week sprint no good for meaningful security testing...).

I spent two long years at GDS banging my head against a wall. And then I left. And unsurprisingly the Microsoft-based Government gateway was never replaced, still going strong.

Comment · 3 years ago
Comment · 3 years ago
Thanks I didn't know that. Happily the only ASP.NET I work with is my website, which will stay with the stack I have until/unless my ISP demands an upgrade. Although being a literal greybeard I'll probably do the lazy thing and find an ISP that does support my tech. Latest and greatest is no longer a priority.
Comment · 3 years ago
Thanks for the update. It's a timesaver.
Comment · 3 years ago
Top comment here is how many I interact with react when they discover my love of VB. net. Some food for thought, then:

I wrote my first complete computer program in 1986. Since then I've programmed (or scripted) in Assembler, BASIC, C, C#, C++, COBOL, F#, HTML, Java, JavaScript, LOGO, Pascal, SQL, VBA and XAML. I don't mind C#. Or Java. The majority of the code I've written in my career was written in C#. And yet my preference remains VB.NET because -

VB.NET supports both static and dynamic typing.

VB.NET is a functional language, supporting local type inference, anonymous functions, monads, and language integrated comonads (even Lisp can be more complex and verbose than VB.NET with LINQ).

VB.NET does project-wide namespace imports. C# doesn't.

VB.NET is no more or less verbose than C#. Haskell and F# however, are indeed a lot less verbose.

There are also readability issues in Java and C# that VB.NET doesn't have (braces, == and =, ! instead of Not, seperate keywords for inheritance and interface implementation, and so on). I learnt Pascal before learning C (and prefer Pascal to C). The fact that Pascal and VB.NET share syntactical smilarities (type declarations follow variable and function names, the Not keyword) is probably not an insignificant factor.

Lastly, Microsoft announced that evolution of the VB.NET language has concluded, (although it will support .Net 5). This is welcome because it makes things predictable -- modernising legacy codebases takes ages.

Comment · 3 years ago
Well, apparently the story was conceived by a German, in which case the social system would catch him, provide the health care he needs, and when recovered he'd be back on that beach...
Comment · 3 years ago
Comment · 3 years ago
Comment · 3 years ago
I struggle understanding cloud-based storage on anything personally mine. I want my music where I am. Same for video, and ESPECIALLY documents. Still using Windows Media Player, too.
Comment · 3 years ago

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton