skysight-inc/HackerNews huggingface dataset:
Ask HN: As a junior developer, how do I learn to better architect software?
I don't quite know how to ask this, so bear with me. I feel like there's a large gap, a lack of direction between the common advice - DRY, KISS, design patterns, clean code, etc. - and understanding how to tackle actual architecture problems.

On the small team I work on, we have various problems that are affecting our ability to maintain and extend our code, and, more importantly, hindering our ability to scale.

An example: We've been using MySQL basically as a data processing platform for transforming data overnight (and storing it transformed in separate tables), so we can do even more aggregation for requests during business hours, albeit more efficiently; I want to be able to simplify the role of the database, move the processing logic up, and get away from long overnight jobs. However, we lose the benefit of having our pre-processed data resting in the database waiting to be aggregated at a moment's notice; doing both the processing then aggregation on the fly would be far too expensive. How do I research how to deal with that?

This also extends to architecting our code. The front-end especially is rough, the usual story of pent up technical debt. Our web interface has gotten more and more complicated, and while we can get very far by just revisiting it with experienced eyes, there's still glaring problems with complex interactions of components.

I'm pushing (and succeeding) at moving towards efforts to clean up the mess that has accumulated (maybe even a whole rewrite, woo!), but I want to be able to really pull my weight and contribute to the process. I'm a recent graduate, and my design experience is relatively limited, but considering the number of resources available to me to learn how to become a better _developer_, I'm missing what's available to become a better _architect_ (beyond the usual "it comes with time"). I hope that makes sense.
Thanks! This looks pretty nice.
I like how you've added the option to 'time travel' and check for example if a reminder mail is being send correctly.
The style guide doesn't actually use block scope for if/loop.

Many items in the guide are...reasonable, but the explanations are gibberish or don't match the code.
I built StoreShots to help me build great Screenshots for my Apps, as there were no tools on the market that fit my requirements. Please let me know about your questions and feedback via Twitter @jaysquaredcom or Email jonathan@jaysquared.com.
"Fill in your job title. If you are unemployed or a student, put N/A."

Hardly equation solving.
Wow! Quite an achievement over a wide range of CS fields. :-)

The direction to go from here really depends on what you want to achieve for yourself.

Do you want to maximize the breadth of your knowledge? Then how about an RTL implementation of a CPU that implements your spec? Going for static analysis or developing an IDE would also have that benefit.

Do you want your tools to be useful beyond being a toy / learning experience? Then I would go for feature completeness in the C compiler. Also, a debugger would be needed.

I quite like the minimalism of your approach. How about a single-page spec for a CPU with an MMU? :-)

(Then you could actually tackle a real Linux port instead of being limited to uClinux. But I'd refrain from trying to port any Linux kernel right now because you'd have to extend your compiler and tool chain quite a bit; Linux is written in GCC, not C.)

How about running your compiler as a JIT compiler?
metafilter is less popular by design, as a survival strategy. They throttle new account creation when it heats up. That's probably going to become more common.
Which is fair enough because they are easily reproduced but we're talking about famous landmarks here. I don't think I will find the Eiffel tower's light arrangement anywhere but the Eiffel tower any time soon simply because of its distinguished shape, not because of stringent copyright law.
Estudio Geobiológico de la pirámide oculta
Interesting. . .

If you click on https://www.reddit.com/user/chooter now the most recent post is from 2 days ago.

However I visited this thread 2-3 hours ago and there were many comments from her from as little as 1-2 hours before that.
Well, if they fired her at this point, I doubt anybody would believe that was the reason.

Not that I have an opinion on the subject of what reddit should do.
Does using a tripod count as technical assistance?
> If this startup (and ones like it) is successful in getting traction taking over some of these projects, there are going to be a lot of very unhappy IT companies that were riding the gravy train for decades.

While $1.3 billion is a massive amount of money to spend on a project, the article summarizing that effort as being "an electronic health-records database" is incredibly trite. This characterization implies "some RDBMS someplace that holds the information." The scope of trying to bring all parties involved into a set of computer systems collaborating in workflows which would make Descartes[1] blush is immense.

Stating that the tens of thousands of people working on that effort are "riding the gravy train for decades" is naive at best.

1 - https://en.wikipedia.org/wiki/Cartesian_product
~7

https://en.wikipedia.org/wiki/Category:Artificial_satellites...
Thanks, man. I want to keep it super simple, no distractions. I'm sure it's not for everyone, but I have a vision and I'm working towards it. Glad you stopped by.
India’s BankBazaar Raises $60M Series C Led by Amazon
I'm a (non-US) federal public servant who worked for a small, and now defunct, agency with the mandate to embed 'user-centric' design principles in the creation of public services. At the time we were wound up, I concluded we had failed. Now I'm less sure. I still occasionally see instances where our work has influenced other public servants, so perhaps we've had some measure of longer-term success. You should carefully think about and define your metrics for 'success', both in the short and long term.

All that aside, the key reason for poor design in government is this: lack of incentive. And no, the ballot box is not an effective incentive; very few voters will punish a government because their tax return form was poorly designed. Private companies possess this incentive: if your product is hard to use, people won't buy it and you'll go out of business. Government doesn't have this incentive: if people find your products hard to use, they'll use them or they'll (eventually) go to jail, won't get their welfare payment, won't receive a driver's licence etc.

Outsourcing or privatising these kinds of services is not the answer: you're just substituting a public monopoly for a private one, which arguably leads to worse outcomes for citizens (and great ones for the private monopolist). This kind of action only makes sense if a competitive market will form after government gets out of the way. It's helpful to think of government services in this fashion: a service market that is dominated by a monopolist.

So that's the problem you are attempting to solve: how do you get a monopolist with no profit incentive to design better products and services?
Steps to designing a great video survey
Thanks for the feedback and I totally agree. We are working on all of the things you mentioned above. It should be in the next release, Monday.
Another new forum site is www.yannect.com. Check out https://www.yannect.com/us/tx/austin
I also don't necessarily agree with them, but: As already pointed out in other places in this thread, (A)
GPL isn't about your (the developer offering a service) freedom, but focuses on the users. If you don't subscribe to their definition of freedom, of course it doesn't appear more free to you, and really the only way to convince you otherwise would be to convince you that their definition of freedom is the more important one.

And even then one can argue if the AGPL serves this best, because it also doesn't really help users if no-one offers services based on the software because they don't trust the legal situation.
Same functionality, less characters. This also helps being consistent.
I spoke to one of them on the phone recently and was very impressed! If I didn't have a couple of other compelling things occupying me right now I'd seriously consider joining their team in DC pronto. They are preparing to introduce more government clients to speedy iterations in clean modular application development and I'm eager to see them continue to impress.
implement in both cases, after a clear definition.
I'd suggest that you really, really reconsider what you mean by the "best" and "worst" of reddit. The shit-spewing churn of 4chan's various terrible boards, for example, still manages more creativity (of a sort) than most things we see posted on this site.

The "most intelligent" and "creative" folks actually spend a great amount of time doing things you may consider reprehensible.

Similarly, the best folks are maybe just the most normal and harmless ones? Maybe your site is trying to be the nice Disney version of the real internet message boards?

I say this not to mock--just to point out that you should really consider your value prop.
> "Too much text/instructions"

I disagree that too many characters or too much instruction is a sign of a bad interface.

For users trying to complete their desired task, an interface lacking instruction/explanation will often cause lower task completion rates and longer average task completion times than an interface with verbose instructions. This is especially true for new users.

Don't get me wrong: I dislike wordiness and consider myself an advocate for simplicity, minimalism, and concision – and that might be the author's sentiment. However, while bloated instruction may hinder task completion and user engagement, incomplete instruction will prevent it.

I believe more useful measures of good instruction are when it is presented, where it is presented, and how well it is understood by users.

For example, a well-designed mobile app avoids a text-heavy interface by disclosing the appropriate amount of instruction at the appropriate time. Limited screen real estate happens to be a handy constraint in this case, and transfers more instruction responsibility onto a well-designed onboarding wizard. That wizard will really only get one shot to educate users, usher them to their 'aha' moment as quickly as possible, and hold their hand through the few actions that strongly influence successful user engagement and retention.
Job Title: ___________ [ ] I am unemployed or a student

Checking the box disables the job title field.

You don't need to make user interfaces that behave like paper forms.
>Tension 2 is organizational debt that Ellen Pao clearly inherited, and while the buck now stops with her to fix it, nobody thinks it's a problem of her making.

You don't have to think it's a problem of her making to think that she is singularly incapable of solving it. This is, after all, a person so far removed from the reddit community that she posted a link to her own inbox.[0]

kn0thing is, for all his original talents at communication with the reddit community, pretty bad at handling these flareups. Here's his initial response to todays goings on. [1] How tone deaf is that? How did the guy who talked about letting users take control at TED turn into the guy who says:

"We get that losing Victoria has a significant impact on the way you manage your community. I'd really like to understand how we can help solve these problems, because I know r/IAMA thrived before her and will thrive after."

He went from a guy you thought was one of you to a guy who spews platitudes like he ate a dictionary in a country with bad water.

Something is rotten in the state of reddit. The common narrative of that site has become one of managerial incompetence. Whether or not you agree with their strategy, I think it's hard to deny that their tactics are in the bottom decile.

[0] https://archive.is/0N2IG

[1] https://www.reddit.com/r/OutOfTheLoop/comments/3bw39q/why_ha...
Those are basically unpaid posts
> Reminds me of my grandmother sending me a picture by sending the c:/ link in the email.

Not really... there is no consistent clear way to tell if a web page is meant for your account only or public. For example, if someone @tweets at you, you can share that URL just fine.

Given that reddit's notification system for public replies and private messages is identical (the orange envelope), it's really not that hard to confuse a private message with a public reply.
I can't see things improving any until they fix the bidding process for government contractors, and that would require congress to fix it. I can't see that happening. The Congress as a whole, left or right, has an army of corporate campaign contributors that benefit from keeping the system the way it is, a labyrinthine mess only certain, usually larger or specialized, players have the time and legal expertise to navigate.
The difference is that postgres can enforce this for arbitrary queries.

This doesn't matter in the typical webapp where all accesses to the DB happen through the same database user id, but when actually using the user system of the DB, it allows for fine grained access control to a common data set.

The closest you have without explicit RLS support is to create a view for each user. RLS generates per-user views on demand under a common name.
If you have evidence that people did not hire / promote you because you are white you should totally sue.

Perhaps your recent experience has opened your eyes to the difficulties black people have had for very many years. It is hard to get evidence of discrimination; that makes it hard to bring and win a case; lack of won cases is used as evidence of a lack of discrimination.

Edit: added promote
Really? It seems like a trivial programming exercise to me.
Capital is absolutely not unconstrained! It is one of the most difficult things for a bank to increase its capital base.

Base money is a low percentage compared to bank money - its true - but all bank money is a claim on base money. Pull out the base money and every bank has a liquidity crisis and would in turn have to recall every loan. More than parking meters would feel it; a bank cannot issue a loan without appropriate capital base, and only high quality liquid unencumbered assets can be considered capital, which cannot be created by a bank (a new loan/deposit is not an unencumbered asset). In practice capital can only be increase by a new share issue or by retaining profits over years.
Reddit Moderators Are Locking Up the Site’s Most Popular Pages in Protest
Making sure everyone within your company writes the same style code, makes it more readable and easier to find bugs. You can also start doing automatic linting and hinting.
On top of that, they made the top on hacker news which will help finding new devs.
NEW HIT BANGER, must listen
> This is exactly what is observed

Not on this planet. Power distribution does not behave like anything that could be explained by any reasonable theory of genetic traits, extant or future. It doesn't explain the extremely sudden acquisition of power by Europeans, nor the extremely sudden decline in power of Arabs (or other groups, but I chose Arabs because they had a clear technological and scientific advantage[1]).

And I don't know about future theories, but nothing we know so far even hints at large genetic inter-race differences between races. Everything we know suggests pertinent genetic differences among races are minuscule, virtually nil, compared to intra-group variance. The biggest differences are literally superficial.

In order to explain power with genetics you 1) have to discard current genetic findings of little relative inter-race variance, 2) explain the revolutionary and sudden acquisitions and losses of power -- at extreme magnitudes -- in history. To me that seems like a lot of theoretical effort with zero evidence to back it (and plenty of evidence to explain its appeal, in spite of demonstrated falsehood[2]).

There could theoretically be some as-of-yet-ununderstood genetic contribution, but absolutely nothing we see so far gives us any reason to believe that is so.

> ... Now you've somehow cardinally quantified power? What are it's units?

I am not saying power is a cardinal quantity, nor have I ever had any difficulty explaining it. What's the difference, though? Do you also put sickness, violence and many other well-defined concepts in quotes when you write? One thing is certain: race is much less well defined (and less quantifiable) than power, yet I don't see you putting that word in quotes.

[1]: European teachers even dressed as Muslims to appear smarter and culturally superior.

[2]: A good friend of mine is just now doing experiments on ingroup/outgroup allegiance in children. You'll be amazed at the ease (matter of minutes) in which boys (though not girls!) develop allegiance to an imaginary "blue group" or "orange group" and start believing in innate superiority.
Um:

> Don't use generators for now.

>> Why? They don't transpile well to ES5.

Same thing with Symbols?
Yes. Some almost religiously.
Porter also likely benefited from emotionally manipulating his clients to buy stuff out of a sense of charity. That works on the general public face to face, but not other parts of industry.
Yes. But not every code reviewer has a //NONITPICK option.
I would guess it's less popular because it costs money to post.

On the other hand, so does Something Awful, and that site's significantly more popular than Metafilter.
Indeed, YCombinator gave us the $120K.

Our total funding + revenues are much higher. You missed the part about Khosla Ventures, DARPA, and Fortune 500 contracts, and that we are already profitable :). Biology, especially when done through software, is a very profitable domain.
Only if you speak about components. Mailpile is a complete product, so the viral nature of it being used as a component is not a problem for the project.

The AGPL itself makes a lot of sense, as any other licenses you mention would never have any teeth, as the software is - by nature - never distributed by the service provider.
please don't make these kind of posts on HN. "common sense" is usually defined as "whatever I believe is the truth" in the context of an argument. Combine this with the personal attack you made, and you have yourself a terrible post.
Just like it drives you crazy to put opening bracket on the same line - it drives other people crazy to put it on the next line.
Probably the most useful thing you'll do to learn about architecture is to screw up this project. Sorry, but there it is.

You can read a lot on Martin Fowler's site about how to screw up the project. You can watch some great videos by Uncle Bob (I especially recommend "Architecture: the Lost Years") on how to screw up the project. You can even checkout some ruminations on software development by reading through old game project post-mortems on Gamasutra.

If you want advice about how to get better at this, I'd say sit down at lunch and redesign the system. Do this like every day for a week (or month, or until you stop leaving work hating the state of things). Then, go talk to the business folks and really learn how the business functions. Then, figure out where your designs failed to meet these requirements, and use that as a guide for how to evolve things.

I would say, though, learn how to pull off features aggressively and without hesitation to simplify the code. The best architecture is the one that is hardly noticed, but which, when seen, appears obvious and yet mutually exclusive with bad implementation.
And it works :-( judging from the slacktivist chatter among my less intelligent (previously determined, not judging based on politics) but still technologically geeky FB friends.
Ouch, I'd be afraid that this may become the source of subtle bugs.
> for instance, you can re-theme mediagoblin etc.

Is that tested in court? Because that was one of the scenarios described as potentially problematic before to me by a lawyer (Applying a corporate theme to an AGPL system, breaching the contract with the designer of the theme that doesn't allow you to re-license the design, only to use it)
Kind of funny. On the one hand the angry mobs want their freeze peach. On the other hand they seem awfully touchy about people, well, exercising their free speech.
That's why they call it Style Guide. You know - Style?
Why is Node.js famously used for creating a REST API?
FatPeopleHate was really recent. It exploded in popularity. It wasn't even a year old when it got banned.

That was a lot of the issue, it grew faster than it could be controlled and when it started having the population to push posts to /r/all, people got mad.
That's a different answer from the one the parent comment is mentioning.
You are absolutely correct with your description of the user interface principles you espouse. Provide the right help information at the right time but otherwise stay out of the way.

However, I believe the author's sentiment was more focused on situations where programmers use instructions to avoid more complex display or validation logic. IE, less work to add some text than to properly display/hide form sections based on skip patterns.

"If you are an X, then you have to fill in Y and Z. If you are not an X, please only fill in Z, unless Z=1, then you should fill Y too."
This is typical of programmers being ‘smart’ by avoiding some extra steps/code...
I'm really not sure what planet you live on, but Google managed communities are almost without exception an unmitigated disaster.
You obviously know nothing about law, at least codified law.
What do you mean by "hobbyist"? 3DR itself has commercial operations as well, not to mention the countless users of the components in various industries.

Certification will come from companies using the off-the-shelf components. Most likely privately.
Yep, his site sucks. Basically reminded me of what digg looked like after v4 with its "new digg" thing once the users were gone.
Heavily pregnant Karen Igho pens a letter to her unborn child
Ford recalls 432K cars because of software problem
Ask HN: Does HN bump up local content based on your location?
I've been seeing a lot of front page stories on HN relating to Netherlands / Dutch these days ever since coming to the country. Is that a coincidence or does HN bump up contents that are local to your region?
Keepy Uppy Challenge: Junuzovic vs. Coutinho vs. Henderson vs. Nobody
Ha, I didn't know this still existed. I 'hacked' our school PCs running Windows 3.11 using this technique.

The sysadmin locked down every possible way to run executables apart from those he exposed in Program Manager. Of course, everyone had Word. Simply embedding an OLE object let me run any exe.
...and yet it's already been through one iteration, two if you count the 1983 video games crash (video games are software), and more and more learned heads are starting to look uneasily at the idea that it's on the upslope of a third.
it's a proof of concept. I don't see how it changes anything. once you've got the browser displaying https://site you control pretending to be something else.

fixing everything else is trivial.
"Denied", perhaps. "Debunked" goes a bit far for a comment that consists solely of the words, "It's not true".
For such cases I find the Python style most appropriate. It says that you use some consistent default (e.g. always single quote), but for all a strings that require escaping, you should use the delimiter with the least (preferably no) escaping.

Note that this is easier in Python than JavaScript because Python provides more string delimiters:

'He said hello.'

'He said "hello".'

"Don't say hello.'

'''Don't say "hello".'''

r'Some regex\sstuff'
Would it be possible to take something like that UML, package it up in Docker and have it deploy to your vps in a more complex heroku way? I think that would solve a few common problems.