Live data from Hacker News

“This project will only take 2 hours”

web.eecs.utk.edu

251–260 of 279 posts

Re: “This project will only take 2 hours”

#251

You can do feature creep for a long time. If you just want a basic working version (that will probably drain your battery), that can be done really quickly. This took me ~10 minutes: #!/bin/sh set -e while true; do URLS="$(xsel | grep -Eo "(http|https)://[a-zA-Z0-9./?=_%:-]*")" && if [[ ! "${URLS}" = "${OLD_URLS}" ]]; then echo "${URLS}" >> urls.txt OLD_URLS="${URLS}" fi sleep 1 done;

Agree! Furthermore the reason we have such bloated and garbage software is a combination of this kind of feature creep and a complete lack of modularity.

Want pause functionality: write a small utility to provide an easy way to start and kill any program.

Want notifications: write a program to monitor any file and provide notifications when something it added to it.

Searching: grep or a GUI equivalent

Syncing: rsync/syncthing/Dropbox…

Someone will complain most people can’t use these tools. Firstly that wasn’t the initial question, and secondly that’s something I’d love to see tackled in a GUI tool. I don’t think it’s impossible, just misaligned with the incentives of people who make and overcharge for proprietary software.

Re: “This project will only take 2 hours”

#252
post #206

Earlier quoted context omitted.

We do a take-home assignment for junior devs where I work. The actual coding knowledge is pretty minimal. Few people fail based on the code alone. What we're actually looking for is if they can follow directions. A surprising number of people can't read a list of requirements and make sure they all get implemented. For junior devs, we don't actually care if they do it in 2 hours, 2 days, or the whole 7 days we allow…

Very insightful and true. Even during a conversation, many people "translate" what they hear into something else, and will quote back, a few seconds later, a totally different sentence and think that's exactly what you said. Kids in school often don't read assignments properly either, and skip everything until the first question. I don't know if they think it saves them time or fear there's a trick somewhere that the…

I think it's a profound fear of ambiguity that drives these behaviors: the urge is to move past the 'understanding' part by finding some single interpretation and then move on to the 'doing' part, which is the satisfying part. I think formally writing down the specification for any kind of work starts with holding all the ambiguities in of it in your head. In this case, the approach depends on whether the student is more interested in 'computer programming' or 'software engineering'

Re: “This project will only take 2 hours”

#253
post #175

Earlier quoted context omitted.

I would be quite happy with this, actually. I wouldn't even bother with the tld regex and just settle for "http" The part I'm missing is what to tail?

There is nothing to tail, because (FAFAIK) there are no clipboard events in Linux (well, in X). The best you can do is poll xclip every X ms, so you'd get: while sleep .2 ; do xclip -o ; done | uniq | grep -E 'https?:' but that is pretty wasteful of resources. Luckily processes are cheap on Linux :)

Thank you! I can't imagine myself clipping something more than once 5-10 seconds, so I can set the interval to that.

I want to take this moment to remind you that the Web includes http, not just https, and ignoring it is a failure at accessibility and compatibility.

For myself a week from now looking for this, here is the version which works for me:

      while true; do xclip -o | uniq | grep ^http > ~/url.txt ; sleep 5; done
Thank you again, this will make my life much easier.

Re: “This project will only take 2 hours”

#254
post #77

anyone else feeling like lately at work they are spending more time on dialing in time estimates for work than actually doing the work? it feels like we have a problem (at least in sysadmin/devops roles) of valuing time estimates/"the process"/agile over actually banging out some work. i am starting to tune out planning meetings and requests for time estimates with a least effort possible attitude.

I've had this problem before, it's a symptom of management not trusting development teams. It's worse when combined with the "we say estimates aren't timeframes but secretly they are" problem: give a 3 day estimate for something, and when it's not finished in 3 calendar days (because only around 1/4 of that time was actually usable for work, the rest was pointless meetings or 20 minute gaps where nothing useful can b…

For some bizarre reason, management has not yet assigned a task to their programmer underlings to automated themselves out of existence. I can't imagine why.

I don't think it's a matter of trust. Management sees their job as setting priorities and resource allocation. So they shoehorn that into everything they touch. They require estimates, so they can divide impact by effort and then assign the highest ratios first, without regard to necessity or dependencies or technical debt.

Re: “This project will only take 2 hours”

#255

I've gone down this rabbitole before, and yes, there are things that take two hours, and there are things that take a lot more. The problem is the scope - ie. are you trying to do what you said you'll do (miniature software to log urls), or are you adding 100s of requirements to the scope (gui, filters, privacy,...). We had a bunch of .xml files containing some data, and someone wanted a .csv file... sure, an hour ma…

> making it higway-legal

this is the crux imo; an experienced engineer can hack together a compelling MVP of almost anything technical in a reasonable amount of time, but getting that same code in line with regulatory frameworks and the expectations of the end user is what separates a weekend script from a scalable business

Re: “This project will only take 2 hours”

#256

I’d point out this isn’t a problem with estimation per se but with requirement gathering. The students didn’t press him for more specific requirements before offering an estimate. The real challenge though comes when the customer doesn’t know their requirements. They legitimately think they “just want a simple app to record urls”, but actually want all the other things listed. The thing that sets good developers apar…

You deliver with the minimum you can get away with then improve from actual feedbacks, requests and data gathered from usage. What people think they will want differs from what people will actually want which is not necessarily what data shows you should build. Build fast, improve incrementally. The path highlighted in the article is exactly how you should not build a product. Don’t focus on all the things you could…

You're right - I think this is the only real way out of the dilemma. There are still some challenges with this approach, though:

* stakeholders often need or think they need a whole estimate up front. A developer may explain MVPs, sprints, agile, etc. and still get blank stares and "ok, that sounds good, but just give us a rough estimate how long will it take/how much will it cost. We promise not to hold you to it (yeah right)". In some examples, like governmental budgeting, etc. it can be hard to even proceed through purchasing without a whole-product estimate.

* developers can be seen as over simplifying by stakeholders who don't understand the approach. When presented with a MVP, they start complaining about the fonts, etc. and loose faith in proceeding.

* developers can be seen as over complicating by stakeholders who don't understand the approach. When a stakeholder's simple request for "just an app to capture urls" balloons into a major project with bells and whistles over 10 weeks of dev cycles, management steps in and says "I thought this was just supposed to be a simple app to capture urls".

The later two come down to developers communicating effectively and stakeholders truly understanding their staff and processes. The first, I honestly haven't found a great fix for. No matter how I explain, many customers generally want an estimate and budget I stick to.

Re: “This project will only take 2 hours”

#257

Earlier quoted context omitted.

So? In any decent programming environment, checking if a string is a URL is a one liner

Not without false-positives. E.g., is "foo.bar" a URL? Maybe. But it could also be a filename. How do you know if it's a "real" URL or not?

It isn't a URL. As per RFC 3986 [0]:

> The term "Uniform Resource Locator" (URL) refers to the subset of URIs that [..] provide a means of locating the resource by describing its primary access mechanism

Since "foo.bar" does not describe an access mechanism, it is not a URL. Yes, you could make the argument that "foo.bar" is a relative-path reference as described in section 4.2, but that is only used to:

> express a URI reference relative to the name space of another hierarchical URI

So "foo.bar" can only be considered a URL in the context of another given URL, and in your example there is none.

[0] https://datatracker.ietf.org/doc/html/rfc3986#section-1.1.3

Re: “This project will only take 2 hours”

#258

Earlier quoted context omitted.

“All user input is error.” - Elon Musk

[flagged]

For those who also weren't sure, I learned that this is an actual quote from Mr. Musk to a U.S. Senator and Senate Finance Chairman.

https://twitter.com/elonmusk/status/1457497438474981384

I infer the point to be that Mr. Musk trolls so frequently and thoughtlessly that it's impossible to tell whether he believes the things he's saying, which is why quotes from him are mostly worthless as guiding principles.

Re: “This project will only take 2 hours”

#259
post #79
post #66

Reminds me of how some companies give take-home assignments to job candidates. > Here's a task that takes a day to do sloppily and at least two days for you to show your best work. We want to be respectful of your time so please don't spend more than 2 hours on it.

I wonder if that's why I wasn't a good fit for a recent company I interviewed with using a take-home assignment... bear in mind it's been at least a decade since I last took a take-home, so things might have changed. I received the task on Friday evening, I spent the week-end thinking about the problem. Monday I had actual work and on Tuesday, I spent a day coming up with a shit implementation. Then, I started improv…

I always do better with take-home assignments than I do with a whiteboard or live-coding interview.

Re: “This project will only take 2 hours”

#260

Earlier quoted context omitted.

"here's a computer, please implement a function in $languageOnYouCV that receives two words and returns true if they are anagrams of each other, false otherwise, if time permits add some unit tests" seems to fulfill that need just as well, and should be quick enough that being in the room or not is more about what makes the candidate more comfortable and gives the most insight for the interviewer.

Is the candidate allowed to use google? Just asking since it's a very easy task but I'd wanna doublecheck how to reverse a string in that language.

anagram, not palindrome.
Post reply on HN