skysight-inc/HackerNews huggingface dataset:
Demo driven software development oddly enough

* A demo is a thing you can show. The first demo is usually

- the program will compile, run and print "hello world"

* A demo is a contract between stake holders

* Demos happen frequently. For a developer each day, for a team each week, etc.

Why does this help? A demo, actually showing something, is the only enforceable token that commits both part to the contract. In that way it is almost a currency. No stakeholder, whether manager, sales or developer can argue - either the demo was met, or not or was not clear.

This is much like sprints, test-driven, but a demo has the contract aspect.

Demo-driven reduces many of the causes/motives for over-engineering.
* Is the over-engineering bit in the contract? Why not?
* New function requires a new contract so no more last minute changes. (Been there done that).
* Stakeholders gain experience designing demos.
* Demos are adaptive. They provide tactile feedback.

My 2 cents
AI Developments in Recruitment to Follow in 2020
A competitor wanted to get a list of FB users to create a competitor. How is it not similar?
>> but increasingly [not] having a facebook account is not an option.

but so is the case for google maps, gmail, linkedin, twitter, uber and a zillion other services. Facebook is just like any other web service at the end of the day.

>> FB's customers are the advertisers.

Even if that's true for arguments sake, I don't see how FB becomes a "monopoly" in that case. There are potentially large # of advertisers buying advertising space from potentially large # of website owners. How does FB have a monopoly on advertiser spending?
None of ecosystem, long term ownership, iteration, or codebases at scale are relevant to a foundational language (i.e. one that is being taught in order to teach the concepts of programming.)

A simple, clear syntax that comes, as much as is reasonable, secondary to whatever the concept being taught is is most important to me.
An Idea Becomes a Feature – This Week at Armory (YC W17)
It's heavily regulated by parents.
In lower level languages, when you use switch, you make it easier for the compiler to generate a jump table.

In higher level langues with strong, static types, the switch statement can indicate to the compiler you want to match on the type of the variable; it can do analysis then to make sure your pattern match is exhaustive.
Unless there is another mechanism for a record to die, it'll still be important to have a TTL.

TTLs could be kept quite long, though, since they'd only be used when push updates are not occurring.
One thing I notice is that software is becoming more brute force and less about "design" or "architecture" quality.

Good abstractions at the correct level and the correct data modelling can make the code around it very simple. Instead of nice designs that are easy to reason about, we have lots of unit tests to "prove" that it works. Instead of making a system reliable and trap errors properly, we use Kubernetes to launch another pods as soon as one goes down. Maybe I am just too old, but I feel we are loosing something going down this route.

(Ok, there is code that's functionality will mean that in inherently isn't simple, but I see far more CRUD apps that are built in an over complicatd manner, than code that is actually doing something algorithmically complex).
Coin Shortage
> Why are they afforded this level of anonymity but Scott is not?

Elton John can't deprive me of my liberty, hold me against my will, force me to take medication against my will (and sometimes without my knowledge), give me electroconvulsive therapy against my will, etc etc.
I think it's just the difference that car industry is much bigger and much more efficient with its labor. It's also widely different markets so clearly markup is very different. Where automobile markup is often not more than few percent hipster urban ebike market can easily justify 500% markup.
Reasons why Python is great to teach:

* Simplicity - you can write Hello world and have a 'that's cool' moment earlier than java

* General purpose - whether you're interested in web apps, data analysis, games, command line apps, you'll be able to do it with Python (the 'second best language for any problem' aspect)

* Community - a lot of people know it, it's easy to get questions answered. There are libraries, tutorials, etc

Reasons why Python is not great to teach:

* Horrible set up even with (or because of?) modern tooling and many options. Many beginners will get frustrated and lose interest after several hours of messing with configuration

* Too magic sometimes - easy to pick up bad habits by doing things that are 'allowed' in Python, but not in most languages

Overall I still think Python is one of the best first languages to show someone, but I'm glad I learned Java shortly afterwards followed by brief introductions to dozens more languages.
They might have the same name, might even turn into the same thing, but right now, they’re Live Tiles.

The only action taken when you tap in one is open the app.

Android widgets have much more functionality.
Self-Taught Coder from Hunan
One thing I struggle with is, like jka says, to communicate trade-offs and to gather requirements. In other words, solving the underlying problem; not the symptom without causing bigger problems in the future.

The main thing I miss is to be able to, as Fred Brooks says, "throw one away". It happens too often that, contrary to the second part of Brooks saying (i.e., that "you will anyhow"), something that should be a prototype ends up as the "finished" product, causing headaches down the road due to shortcuts that were made or because whatever was learned in developing the prototype is not taken into account due to time pressure. On the other hand, I work in a small company and the customers are happy enough, just too few so it might be the case that these headaches are a reasonable price to pay.
I was mistaken, and going by examples I saw.
List is pretty much an interface, and Python lists do support things you expect from a List type, but not from an Array (e.g. inserting/removing things at random positions). The interface doesn't say if it's an array, a linked list, a rope, ... underneath, and you don't need to care at this point.
You don't have to redo the entire UI to implement dark mode. Just change the color scheme.
>Reddit and Twitter - the biggest discussion sites of all time - live with the nature of people deleting elements from conversations.

Reddit and Twitter and many other sites do it the way you advocate, and yet you have accumulated 9192 "participation points" on one of the minority of sites that don't do it the way you advocate.

I would ask you to please consider the possibility that you like HN as much as you do partly because of qualities that wouldn't exist or would exist only in a weaker form were it not for the policy you are criticizing.

In particular, the policy under discussion makes it possible for a user to save the url of a comment, then return reliably to the comment years later. And the policy makes it such that when a user searches the site with hn.algolia.com, none of the search-engine results is a broken link.

Maybe those qualities differentially attract users to HN with a stronger than average commitment to the truth because those users have noticed that those qualities help with find the truth. And maybe the higher proportion of users with a stronger than average commitment to the truth that I just hypothesized is one of the reason you participate here as much as you do.
> The Segway was just never useful enough and it cost so much. E-bikes, electric kick-scooters, electric long-boards, etc. are all showing that there's a big market for mid-speed mobility tech. There just wasn't a market for Segways.

Of course it's not like these ideas were just waiting around for the taking when the Segway came out. Battery tech has gotten a lot better in the years since the introduction of the Segway, and a lot more is possible at various price points than it was at the time. It's clear that the Segway doesn't match up well against any of these lower cost devices today, but this class of device wasn't possible at a competitive price point when the Segway was released, either.

It's obviously not competitive now, but I'm not sure there was an alternative / more successful approach available when the Segway was released. The strongest case against the Segway, I suppose, is that "maybe it should have been a really expensive bicycle instead of a really expensive scooter," but I'm not sure it would have done any better. It's fundamentally the "really expensive" part that was always going to be a limiting factor, and there was no way around that.
Because MySpace was a substitute good for Facebook and vice versa. If only a fraction of (certain strongly-connected) MySpace users
stop updating there and only use Facebook, MySpace's network effects collapse and thus competition decreases.

This is of course what happened. I joined Facebook when it was first opened for my school (long ago). I immediately loved the UI over the XSS dumpster fire that was MySpace, but I knew like two or three people there. I kind of forgot about it, but checked back a couple months later, and suddenly I knew a bunch of people on Facebook. My days of using MySpace at that point were basically over. The data indicates this was not merely an anecdote, but basically how MySpace died.

EDIT: Also, the way antitrust law is written, anything that has this kind of network effect will likely be a candidate for a monopoly. It's almost inevitable. The courts and legal establishment have over time added the criterion that antitrust should only be enforced when monopoly power harms consumer welfare (usually understood to mean higher prices), which is a much trickier proposition in the case of Facebook.
As someone that enjoys learning by building from scratch sure. There's another huge group of us that like diving in and figuring things out as we go.

I too was intro'd with C and ended up coding 2x as much in python cause I just wanted to do stuff without the overhead of low level. I did appreciate my C knowledge when I wanted to do optimizations and better understand my Python code but I definitely think that I could've learned these things in the reverse order.
On a mac you'd use Control-A and Control-E to navigate to the beginning and end of a line. IIRC Home and End navigate the document, not the line.

https://support.apple.com/en-ca/HT201236
CTO at a conservatory here. Although I haven't been in music long enough to really know, I think there is a lot of room here for a great open source product. Sibelius and Finale are too expensive and not interested in offering discounts to composition students. (Who would then probably be lifetime customers, so I don't really get it, but whatever.) Get in touch if you're interested in talking (I'm easy to find).
It is not so consistent; I guess when they think about it consciously, they want to understand it. For all the rest (more low level, a WC etc) they, inconsistently, do not care. It is not really for me to change their behaviour, I just know that some of them are really crippled by this.
> In theory this might seem OK since you should already be properly indenting blocks of code, however in practice I find that it is much less legible and more kludgy to work with.

This pretty much indicates the author doesn't have much experience with newbies. It's enough to look at SO first questions queue to see how many people completely disregard indentation and are ok with no-indent, 4 levels deep control structures. Then the question is "why doesn't this [if] work". It doesn't because they're completely lost in the control flow.

For teaching, anything that either autoindents or forces indentation is amazing. Even Scratch does this right.
It is unfortunate. This reality is inherently unequal.
Well, no.

Mac people expect their Butler to carefully hold the coffee cup for them and tilt it so they can take a sip.
You choose to interpret a switch statement through an if statement, but that's arbitrary: the other way around is also possible (interpreting/rewriting an if-else construction as switch statements).
I guess it's at https://inboxfee.com or in Play Store https://play.google.com/store/apps/details?id=com.inboxfee.a...
1. A bank in midwest doens't do ' leet code interviews'

2. Yes FAANG's might be ethical h1b users that pay 300k+ but that doesn't automatically imply everyone else is.

3. I have personal experience with this have encountered higher manager wanting to hire h1b for the reasons i've described above.

4. X is conspiracy theory because there are exceptions to X is a basic logic fail. 'real conspiracy' is an oxymoron.
An array by definition is fixed length and contiguous in memory. A list is variable length and not necessarily contiguous in memory.
I think Python is great, because it's a very comfortable language to write in.

My foundational language was C, and we had to roll out everything ourselves. Want dynamic lists? Better get down and write your own structure.

Now, while that may be a great experience for learning how things work on a bit micro level, it seemed like a complete nightmare for those with zero to no previous programming experience. Lots of people end up fighting the language, rather than focusing on the big picture.

Writing in Python feels like writing pseudo code. It's very comfortable. It makes beginners gain confidence, because they see quick results. They don't have to punch out code for 60 mins, hoping that it'll work once they hit compile and run.
"Software is Terrible and Getting Worse"

Reminds me of this satirical post:

https://bertrandmeyer.com/2013/03/12/apocalypse-no-part-1/
That "partially-ABI stable" is the same exact thing that Red Hat and SUSE and Debian have been doing for 20+ years now. Nothing major and exciting there, but see the presentations at the Linux Plumbers conferences for details on the tools being used if people are curious (hint this time everyone is working together on the same set of tools...)
It’s All about Everything
Fabrice’s work is gold!
For my part, I use IntelliJ for Java, vscode for everything else, and iterm2 for more intensive terminal work, all running in fullscreen mode and/or tiled using Rectangle. On OS X.

It gives something very close to the "hands never leave the keyboard" experience that I like about living in the terminal, while also letting me fall back to a mouse when that would be quicker or easier. It also gets me the nice things that I expect are only possible to do well in a graphical environment, such as minimaps and displaying graphical information like plots or dependency graphs.

I do find that my text-mode editor skills are weakening over time, and that does have an impact on my productivity when I have to do a decent whack of work on a remote server. But that's not something that I personally have to do often enough to be a major concern.
So now we need the government to treat us all like children who are incapable of making our own rational decisions?
Building React forms using DDF – MaterialUI live demo included
This article presents a simple way how to build a complex React form using components from multiple React design systems (Material, Semantic, Blueprint, ...)

The described open source library
https://github.com/data-driven-forms/react-forms allows to:

- show/hide conditional fields (fields that depends on values of different inputs)
- (async) validation
- complex wizard forms (branching, predicting steps in the nav)
- form management based on React Final Form
- many components provided by the library: select, wizard, checkbox, radio, ... in multiple design systems

All these feature are used by writing a simple JSON schema like this:

const schema = {
fields: [{
component: componentTypes.TEXT_FIELD,
name: 'name',
label: 'Your name',
isRequired: true,
validate: [{ type: validatorTypes.REQUIRED }]
}, {
component: componentTypes.TEXT_FIELD,
name: 'email',
label: 'Email',
isRequired: true,
validate: [
{ type: validatorTypes.REQUIRED },
{
type: validatorTypes.PATTERN,
pattern: '[a-z0-9._%+-]+@[a-z0-9.-]+.[a-z]{2,}$',
message: 'Not valid email'
}
]
},{
component: componentTypes.TEXT_FIELD,
name: 'confirm-email',
label: 'Confirm email',
type: 'email',
isRequired: true,
validate: [{ type: 'same-email' }]
},{
component: componentTypes.CHECKBOX,
name: 'newsletters',
label: 'I want to receive newsletter'
}]
}

You can check a live demo on stackblitz:https://stackblitz.com/edit/wttpqn
Would using something like Opera Mini have prevented this attack from happening?

I’m imagining a proxy like tool that lets high exposure individuals to request webpages, have them downloaded/parsed, and possibly rendered before handing them off to the client device.

Perhaps it would let the client download https normally but switch modes for any http requests (if I understand what happened here correctly.)
Many Apple keyboards have no "home" button.
"I'm a veloper" - Ralph Wiggum
When we tell a person to do something, we always give them some freedom in how to do it. When we tell a computer to do something, we don't. If one were to instruct a human being to go to the grocery store in absolutely full micromanaged detail, it would look equally unnatural ("Lift your right knee. Swing your right foot forward. Put down your right foot...") Sort of like that videogame QWOP.
You can given an app access just one photo in iOS 14
What kind of containerization are you using? What features seem to be missing?
"regular stable kernel" lives only about 3-4 months, just long enough for the next release from Linus to feel "good enough".

"longterm kernel" lives for 2+ years. I pick one each year (usually the last one released in a year) for that.

See the releases page on kernel.org for details on what the longterm kernels are, and for how long they are being maintained and by whom.
I generally agree, but I think there is something else going on too. Conceptualization is highly flexible and comes in really early. Little kids ask "why?" a lot. Why do they? There must be some energy minimization reason for it. I don't think we're going to get AGI without it being able to ask some questions and get some answers that fundamentally update its understanding of the world.
100% sure. I have been using gmail since forever on all sorts of networks and devices and never ever has taking "being useful" 20 seconds, unless there is something very wrong on my side.

Weirdest thing is that an add-on makes it faster, how's that even possible without a serious MiTB problem?
It works in frameworks like Unity Engine, but otherwise it ends up like Space Engineers Windows-only which is a shame.
I've thrown in the towel on some of my favorite games, anything from Blizzard, Nintendo (Zelda), and obviously EA.

I think it "Clicked" when someone said 'none of the programmers that made Old_Game even work there anymore'

These companies are selling IP, not a sequel. When you buy modern Zelda, you don't get Majora's Mask, you get a 2015 action game skinned with Link.

Blizzard is a corporation that owns the characters and names. However you can play Diablo clones that are significantly better in 2020. You just need to be okay without Cain.

Nolstagia is a hella drug.
If you haven't heard it, Hilary Hahn's Chaconne is also slow compared to a lot of other interpretations, and for me has a lot of the same impact (makes me cry, basically, but stimulates a huge range of emotions in a very short time) as the later Gould recording. https://www.youtube.com/watch?v=QqA3qQMKueA
If that means you're not a fan of ST or the State monad, maybe the newly added linear types support will eventually provide what you're looking for.
Certainly x86 Assembly should be the only foundational language.

People should first learn to manage their registers and memory addresses, ensure their typing and the boundaries of their variable allocations before having someone do that for them.

It's a little bit like driving: in the EU you can get a driver's license without ever touching the horse saddle, so you have this huge driver population than can only drive cars.

Which is fine for the general populace, but not if you want to be a jockey, a cowboy or a horseback policeman, which is where the computer science student would fall into the analogy.
This is awesome. Just did a big harness’s at work and this would have saved a ton of time. Import from csv or excel would be a killer feature imo
I have been doing ML engineering professionally for the 6 years and have been involved in about one hiring round per year for the last 4. If you filter resumes down to “has at least 1 year of professional experience on a deployed ML product”, then you’re lucky to have one resume out of 100, and that’s after HR has had their crack at the applicant pool. We still have to hire people who don’t really have much actual professional ML experience (which imo is fine). We invite literally anyone who has shipped ML code professionally for interviews, and we get ghosted a quarter of the time. It’s not like we pay below market either, it’s just that the demographic of people who already know what they’re doing can still afford to be really picky.
Whitespace is a terrible idea. I'm not saying languages need to use the one true brace (which every brace you care to argue for, they are all the same, at least for this point), but there needs to be a start and end block, and white space is one of the worst choices you can make. The problem with whitespace is in real programs you eventually realize (often because of a new requirement) that you need a new block and whitespace is the hardest to change.

Whitespace is good for readability and important. It should be an error if the whitespace is wrong. However there needs to be a simple start/end block marker so that programs can fix the whitespace correctly.
so why am I getting down-voted for this?
I saw that but 'No popular support' doesn't really explain the 'why' part of why Python developers don't want a switch statement.
Diseases unfortunately don't have a real death rate; the death rate of diseases tends to vary widely between populations for inscrutable reasons. Even if we had a study determining an 0.3% death rate among a statistically representative sample, we couldn't make policy under the assumption it's below 0.5% and couldn't be absolutely certain it's not 1%.
Bellard is a well-known software superhero, but I'm not sure there's much to discuss here.
With a good mix of comprehensions, itertools, functools and lambda, there is enough stuff to get creative with FP in Python anyway.
I think you're correct. They're likely not the biggest threat. That's probably heart disease, cancer, or diabetes in the US. Violence of any kind is way down the list for most people.

I don't think they have to be the biggest threat to acknowledge that the police are out of control and above the law. Fix them, or abolish them and recreate them if they can't be fixed.

This issue goes well beyond racism. Blacks feel it the most, but this problem affects everybody. Nobody wants police that can steal from you (civil forfeiture) or assault or even kill you without sufficient reason or consequences.
What’s the difference between this and server sent events in http2? You don’t need a live persistent connection to issue events?
True; but Cmd+Up and Cmd+Down are slightly more universal across the “Apple ecosystem”, given that iOS-specific keyboards don’t have Fn keys, but do support those shortcuts. :)

Interesting aside: the “Globe” key on an iPad keyboard-folio (the one that opens the IME chooser) has some but not all of the properties of an Fn key. Globe+Left and Globe+Right work as PgUp/PgDn, but Globe+Up and Globe+Down do not work as Home/End. (Or maybe they do, but Home/End just aren’t bound in any app I’ve tested? I don’t want to write+deploy an iOS keysym tester just to find this out...)