Hacker Newsnew | past | comments | ask | show | jobs | submit | more segmondy's favoriteslogin

If anyone finds this subject interesting, I recommend The History of English Podcast: https://historyofenglishpodcast.com.

Can't upvote this enough; it's a great podcast. If this seems just a little too esoteric, might I appeal to everybody's prurient side and recommend Chaucer's Vulgar Tongue [0] as a gateway episode?

[0] https://historyofenglishpodcast.com/2019/09/25/episode-129-c...


Wikidata, SPARQL, and RDF in general. And I guess semi-relatedly things like Prolog? I recently decided to fiddle with Wikidata, and it is fascinating to be able to query for any part of a statement, not just the value!

In SPARQL you write statements in the form

    <thing> <relation> <thing>
But the cool part is that any of those three parts can be extracted, so you can ask things like "what are the cities in <country>", or "what country harbors the city <city>", but most importantly, "how does <city> relate to <country>".

For example, if you wanted to find out all the historical monuments in state capitals of a country (using my home country as an example, also pseudocode for your time's sake):

    fetch ?monumentName, ?cityName given
    ?monument "is called" ?monumentName.
    ?monument "is located within" ?city.
    ?city "is capital of" ?state.
    ?city "is called" ?cityName.
    ?city "is located within" "Brazil".

Throwaway purely so that I can comment. I've had this happen before.

Years ago I left a rather awful company - I left on great terms with my boss, though I hated the company. I was the last person who knew how to release X product. While I documented everything, after I left, the wiki lost its mind, backups apparently weren't a thing, and the director of IT moved to Bermuda.

Fast forward 6 months.. a contractual obligation existed to release the software. They still hadn't successfully built (yup autoconf, make and friends), let alone know where to build it. I got the call you always dream about, 30 days prior to the release being due.

My boss asked me to do him a favour - I reminded him that I quit due to a lack of promotion and raises. He asked what I want, and I asked for 125K, which clearly he scoffed at. Then I reminded him that it was a 10M deal they'd signed, because we had an all hands. The CEO got involved and screamed at me for 'torpedoing the company'. I walked out and calmly informed them both along the way the price was now 250K, non negotiable.

I ignored every single mail (and legal letter) sent me way. With 10 days left, they agreed. I had the company deposit a cheque in escrow with lawyers of my choosing. We signed contracts, and I did my thing. Four days of work. It was well worth it.

Dougie, if you're reading this I hope your cringing.


Video walks on Youtube. If you haven't heard of them before, they're simple first-person videos where the filmer walks around some area with a stabilized video camera - no talking, just walking. I've really missed traveling and watching video walks while exercising has been a great way to satisfy that travel craving a bit and also trick my brain into experiencing some semblance of normalcy (not sure I could remember what a crowded street feels like otherwise haha).

I'm partial to Japan so my favorite channel has been Rambalac [1], and I recently also started watching another channel with the very creative name JAPAN 4K [2]. There are tons of other channels and places too, for example I recently watched a few in Lisbon [3] and Seoul [4] and Copenhagen [5]. They're very relaxing and fun to watch and going from place to place with no cuts captures the usual tourist experience quite well. If you like traveling you can probably find some that are interesting to you!

[1] https://www.youtube.com/c/Rambalac/videos

[2] https://www.youtube.com/user/keikaikeikaikeikai/videos

[3] https://www.youtube.com/watch?v=MXlFDpaQ1ec

[4] https://www.youtube.com/watch?v=lqj7l0Xk0Ho

[5] https://www.youtube.com/watch?v=Nl69sN5PtgM


This is great. I tried to hack the progress by automating clicks, using:

  let button = document.getElementsByClassName('button')[0]
  Array(100000).fill(undefined).forEach(() => button.click())

In response, I got the following log message:

  > Such a smart subject.

And this, which is even more impressive:

http://www.linusakesson.net/scene/craft/index.php


Honestly, I read an article about how Microsoft hacked the student visa program to avoid hiring Americans recently: https://www.bloomberg.com/graphics/2021-opinion-optional-pra...

Reading about how foreign workers get imported who have no money then somehow end up in high value position now makes me deeply curious about why those roles at United States government agencies can’t be filled by local workforce?

I am actually completely skeptical that there is an engineering shortage in America and stories like this make me wonder why this back door pipeline is needed? And why am I supposed to celebrate this?


Along with this, vertical scaling is severely underrated. You can do a lot and possibly everything ever for your company with vertical scaling. It would apply to 99% of the companies or even more.

Edit: Since people are confused, here is how StackOverflow handles of all of its web operations. If SO can run with this, so can your 0.33 req/minute app which is mostly doomed for failure. I am only half joking.

StackOverflow architecture, current load (it will surprise you): https://stackexchange.com/performance

Everytime you go to SO, it hits one of these 9 web servers and all data on SO sits on those 2 massive SQL servers. That's pretty amazing.

I want to be clear though, Horizontal scaling has a place in companies that has a team of corporate lawyers. Big. And in many many other scenarios for ETL and backend microservices.


I also took that course. It might be a bit due to my less than stellar math background but mostly due to the way Geoff explains stuff that I had a really hard time keeping up.

I ended up giving up and not bothering with deep learning and neural nets until the amazing, legendary, awesome CS231n was made available taught by Andrej Karpathy.

I don't know what it is about the way Andrej teaches but it's so good that I literally binge watched all of CS231n over a weekend and then went back to the start and watched again while working through the exercises.

Just goes to show that not every teaching style will fit every student and that's why online learning has a big future - teaching/learning style compatibility is a hugely under-appreciated issue.

I admire Geoff Hinton. I'm also proud of his accomplishments as a fellow Canadian. But I'm not in sync with the way he explains stuff though I'll always watch every lecture and presentation he puts out on video.


Dokku has been a workhorse for me. For all the fears of “but what about redundancy?” I have run a fairly successfully service on it for five or so years on a single Vultr VPS and made more money from that than any other side project or all of them combined. Glad I directed my attention to the product and not the devops like I had in the past. 10/10 would recommend.

I love this post because it mentions me!#!

Patrick offered to come by and grab a drink with me; instead, me and 'cscott bought him a cheap cup of coffee, led him into our cramped meeting room, shut the door, and interrogated him for three hours. It our cheapest, highest-ROI consulting session ever.

I want to get a couple refinements from that conversation onto the thread here:

* At Matasano, the revelation we had in the last couple weeks has been: we have a surplus of engineering cycles and a deficit of marketing effectiveness; it's time to find ways to reallocate. This doesn't mean hiring/contracting marketing. It means finding ways for engineers to improve marketing outcomes.

* Too many software people have an overly narrow definition of what "marketing" is. To them, marketing is promotion, search marketing, conversion tracking, requirements documents. This leads you down a path of bucketing marketing objectives: "ok, so we'll have an engineer set up adwords", or "ok, so we'll have an engineer improve analytics", or "ok, so we'll have an engineer staff a trade show booth".

Marketing is product definition, awareness, lead gen, conversion, and then the measurement and improvement of same. If we're smart enough to define and execute features in products to make our customers lives better, we're smart enough to come up with clever ways to improve awareness and lead gen.

I don't know what Patrick's doing, but we're trying to come up with better ways to engage with our target customers using software engineering cycles; this may include open source, it may include some interesting free web apps, it may include some targeted content generation. Almost none of it fits into a preexisting shrink-wrap "marketing" packet.

* I cannot possibly vouch more strongly for Patrick's thoughts about content generation and long-tail search marketing.

Patrick has a reasonable case to make for being a world expert on computer bingo card topics. We have an even stronger case for being the right people to write pages about how to firewall different applications; we're domain experts first and developers second. And we are the wrong people to write this content.

Some facts about content generation: (1) even at a high level of quality, it's cheaper than a half-hour of your time; (2) 1-2 people cannot maintain a high level of quality for weeks at a time without burning out; (3) however strong your domain knowledge is, there's a huge benefit in diversifying your sources, since they'll have different strengths; and (4) if your processes and tech are good, you can distill excellent content out of adequate raw material.

We have done a decidedly half-hearted job of content-based search marketing, and it has already crushed anything we've gotten with search ads.

* A specific example of "force-multiplying" marketing-engineering, in case you haven't read Patrick's other posts: if you're doing it right, a single piece of content should be many many different pages in your site; the new unit of content is just one parameter among many that makes up a page. For us, the parameters so far are "firewall vendor", "network application", which gets us a 4-5x multiplier on any piece of content. But there are other parameters we can add to improve that down the road.

* I am, for the fleeting time being, sold on the idea that everyone should just write their own CMS (just start with Rails or Django hello-world with a static site and go from there). There are a bunch of things that we were/are able to execute quickly on our custom CMS that we'd have a much harder time doing in a pre-built CMS:

--* Editorial workflow on parameterized user-generated content

--* Fire-and-forget captioned screencast pages

--* Screenshots! I mean, W-T-F: our static site has product screenshots with captions done in Photoshop, meaning we had to actually fire up Photoshop to make new screenshots. The current site we just upload a PNG and click spots on the image and type in a caption, and a tiny amount of JS and CSS makes it look identical.

* Which I guess leads me to the one point from our conversation that Patrick didn't capture, which is: a lot of execution stuff is about friction. For instance: editing a screenshot requires opening up Photoshop, so we're disinclined to change our screenshots or add new ones. Engineering is a great way to take an isolated piece of friction and eliminate it. When you get rid of friction, you execute better. Writing a solid page about firewalling Citrix on a Cisco PIX ASA firewall was a multi-hour task. We were disinclined to write a lot of them. Writing a content management system to outsource elements that could make 1000 strong pages was a 2-3 day task, and now a new page takes minutes to build. We know we're going to execute on that now.

Just a bunch of random overcaffeinated points on Patrick's post.


if you use vim, you can do things like ':earlier 5m' to see code from 5min ago. in fact, vim keeps a whole undo tree available, and some plugins will let you visualize it. https://github.com/mbbill/undotree

I've never been able to cancel any subscription with ease, so nowadays I always use Privacy to get temporary credit cards. When I want the subscription cancelled, I try the provider's website, if it doesn't work, I just cancel the card all together.

Why not start as a technical writer and then work your way up? People will have ZERO qualms about hiring a remote technical writer. Writing technical material will also improve your understanding of technology and give you an 'in' into the industry.

Another alternative is to join up as a sales person at an enterprise company. Look for companies that are growing at a rapid clip; they will often hire people whose sole qualification is that they have a body temperature of 98.6 F. Sales includes helping people do POCs and such, which is part of the sales process for complex enterprise products. Once you start there, you can work your way into Software Development if you wish and can find helpful colleagues. The advantage of Sales is that they require a regional presence, and there is a chance your location will work out to your advantage (typically enterprise companies have sales forces organised by vertical and/or region, including regions of the United States).

The last option is to join an enterprise company as a Customer Support person. Once again, you can develop basic skills and become a helpful person by trying your hand at scripting to help perform minor tasks support people do when troubleshooting customer issues. I see plenty of bright Customer Service people move into Software Engineering proper after they have demonstrated intelligence and a willingness to help the customer by going a little above and beyond the immediate problem.

Most of my advice is centered on Enterprise companies because that's where a large workforce comprising people with a variety of technical skills can be found. Consumer web or mobile type companies are a bit too narrow in the types of people they hire, and frankly, the variety of interesting coding and problem solving opportunities at such companies pales in comparison with Enterprise shops.


Applying for remote work is a sales job. I have done it a bunch of times, landing work within two weeks each time, and this is how you do it:

- figure out for whom you are a good fit based on your experience - for whom and what are you a good solution?

- create a professional, to the point resume, highlighting your unique value prop for these people, and your experience that they will care about

- write a really good cover letter about it, and say in it "I realize you may not have considered remote, but I think I am a very good fit and would be a benefit to your company, would you consider discussing this possibility"

- go through stack overflow careers making a big list of everyone you'd be a fit for, regardless of whether they think they will hire remote. The whole world is your oyster.

- send out applications TWENTY TIMES A DAY. <--- THIS IS WHAT MATTERS

- follow up: after a few days, after a week, after two weeks, then drop them if you haven't heard.

That's really all there is to it, it's a sales grind. You get up and you do your TWENTY calls every damned day and you will find work.

Some folks might think these are high numbers, but here's the rub: when the answer come in, you want options. There's a sales saying: the best negotiating tool is a fat pipeline. If you get a hundred applications out in a week, and they take a few days to a week to get around to them, the following week you have a bunch to look into. But don't snooze, keep firing out another hundred that week until you close! That way, you get not just a job, but one that is actually good for you. You can do it, it's a sellers market in tech! So grind the numbers. Good luck! :-)


This is really cool, and has inspired the latest function to be added to my zshrc:

  vscodetmp () {
    local repo=$1
    [[ ! $repo =~ "https://*" ]] && repo="https://github.com/${repo}"
    local temp="$(mktemp -d)"
    git clone "${repo}" "${temp}"
    code --wait -n "${temp}"
    rm -rf "${temp}"
  }

Follow Up Boss | Senior Full Stack Engineer / Senior Infrastructure Engineer | Remote | $156K - $169K | Full-time | https://www.followupboss.com/

We are a simple, sales-focused CRM for real estate teams. We’re a bootstrapped, profitable company started back in April of 2011. We are a remote company with a mostly US-based team. We are very customer-centric: https://www.facebook.com/followupboss/reviews and our customers love our product.

We are looking to hire a Senior Full Stack Engineer. Solve challenging technical problems and put your skills to the test every day. We've processed over a billion emails; per month we send nearly 3 million text messages and handle 700k+ minutes of call time for tens of thousands of active customers.

- Strong expertise in front end technologies, we use React, JavaScript, CSS. - Strong expertise in back end technologies, we use PHP, Aurora MySQL, Postgres, and Redis, to name a few.

https://careers.followupboss.com/senior-full-stack-engineer/...

------

We are also looking to hire a Senior Infrastructure Engineer

- Strong expertise in AWS LAMP stack, Postgres, CI/CD, Docker, Packer, Terraform. - Strong experiencing in scaling SaaS companies.

Full job listing and specific skills we are looking for / Apply at https://careers.followupboss.com/senior-infrastructure-engin...


Mind mapping: https://www.mapsofmind.com

More of a scratching my own itch kind of thing. Has over 30k registered users but I don't even get enough to pay for my server! LOL.. So meh.. doesn't matter...


Writing a book on how to advertise on google ads. Don’t care if I make any money; I see so much money wasted on Google ads I want to at least try to centralize good Ads practices.

They must be kidding us...Alexey did it years ago

https://alexey-kljatov.pixels.com/


In graduate school, in my lab there was a grad student who was kind of an unlikely "professor's pet". He was tall and had surfer's long hair with a bit of a hippie aesthetic. Anyways, he was also really completely clueless about how to do science correctly, but also, I guess, really good about playing politics (there was a time when he asked me to put some bacterial plasmid DNA on my mammalian cells. I told him "it doesn't work that way", but I did it anyways and handed over the cells, and he got the observation he was expecting). On his main project he was teamed up with a super sketchy foreign postdoc that I was convinced would say anything to get high profile papers out.

So they did a series of experiments and reported results that screamed "artefact". On one of them, for example, the postdoc got trained to use the electron microscope and they went through thousands and thousands of images to pick out the one that had "just the right morphology" (I am pretty sure they were snapping photos of salt crystals). On another, they reported that their research subject protein was so fast at the process we were studying that everything occurred IN MIXING TIME. That to me, screams "you are not doing your experiments carefully".

Meanwhile I was sweating balls working on a very careful preparation of similarly finicky proteins (you agitate them and they do bad things since they're metastable) and finally got it to produce reproducible results. I suggested they adapt my preparation to their protein but they couldn't give a damn, they had already published their paper and had moved on to sexier proteins.

But then an intern was put on the project, and she could not reproduce their results, after working on it for six months (she is careful and honest). At the end, I felt so bad for her, I offered to train her on my technique, but she passed. I think she was burned out on the project. I asked if I could get a sample of the protein that she had prepped, and she agreed.

I ran the protein through my preparatory technique and observed that there was a contamination that could have seeded the kinetics of their process. Upon isolating an uncontaminated sample, I carefully but briskly rushed the sample over to the machine. Nothing. Curious, I jacked the temperature up to get it going faster. Nothing. I left it in the machine overnight. Nothing. Finally, convinced that I had likely done something wrong, I dropped the sample in a shaker at temperature, came back the next day and recorded amazingly high signal. In short, the observation that it was "super fast" was entirely an artefact.

As I, too, was trained on the Electron Microscope, I quickly spotted my sample onto an EM disc, reserved some time and hopped on the 'scope. The first grid sector I looked at, there was literally TEXTBOOK morphology in front of my eyes.

I stapled together my results, gave it to the grad student, and told him that the general gist of his paper was probably still correct, but that he should be careful about characterizing his protein as exceptional. I then said it was in his hands to do the right thing.

What do you think he did? Nothing, of course. He kept on the talks circuit, still talking about how exceptional his discovery was, and to date there have been no retractions. He even won the NIH grad student of the year award.

The epilog is that after a decade of floundering I realized that even though I am pretty good at science, I was no good at playing academic politics and quit the pursuit; I drove for lyft/uber for a bit, and now I'm a backend dev. I am certain that my experiences are not unique. Amazingly the intern returned to our lab, and had her own three-year stint chasing ghosts that turned out to be overoptimistic interpretation of results reported by a postdoc.

Oh. What happened to the grad student? He's a professor in the genomics department at UW.


Remember when you make a pricing model for your company: you can never change it without some kind of backlash unless you can make things cheaper. So it's fine to charge a bit more initially and figure things out as you go, you can then lower the price once you've worked the numbers and/or have to respond to competitive pressure.

But changing your model will upset your customers, no matter how well you intend it and there will always be a backlash, especially from developers for tools because there is always going to be someone else that does it cheaper. Rely on the 'cost too switch' once too often and you will shed users and users that leave will never come back. It is easier to attract a new user than it is to get someone that got burned to return.

Do what you can to get it right the first time and build in some room. And if you do have to change it be willing to grandfather in the users that got you there for ever.


As an Army Reservist who has deployed 5 times I have had to make the mental switch, though this is more like extreme switching on/off your entire life. Here is my limited coping strategy as it relates only to minor task delegation:

* Keep good notes. Be better prepared to jump back into a different task by knowing exactly where you left off, problem state, and what the next step is.

* Anticipate the switch and plan your day/time to accommodate change. The switch to a different task is the easy part. It is building the necessary focus a given task requires that is hard. Know that and plan accordingly so that stress and interference are lower.

* when it comes to automating this stress away embrace the stress state directly and make notes about it. Use those notes to identify repeated problems and delays. Solve not for the stress but for the repetition.

* I cannot provide guidance for dealing with the emotion or mental stress directly as my situation is a bit more extreme.


> Around the same time we switched from an (outdated) manually created critical CSS file to an automated system that was generating critical CSS for every template — homepage, article, product page, event, job board, and so on — and inline critical CSS during the build time. Yet we didn’t really realize how much heavier the automatically generated critical CSS was.

Is reducing the total amount of CSS per page so you don't have to calculate the critical CSS at all an option?

To throw my own page into the ring, here's a non-trivial product website of mine where the homepage is 0.3MB total over the wire and renders in 0.4 seconds for me (includes custom fonts, payments, analytics, large screenshot and real-time chat widget):

https://www.checkbot.io/

The major tricks I'm using is keeping the website CSS small (CSS for homepage + rest of site gzips to less than 8KB), inlining all CSS, rendering default fonts before the custom font has loaded, SVG for all images (this saves a ton), and not using JavaScript for content (which blocks rendering).

The screenshot in the header is in SVG format and inlined directly into the page along with the CSS, so the moment the HTML arrives the browser can display all above the fold content. Logos are another good one for the SVG + inline treatment.


You can activate Google alerts, which will tell you whenever your company is mentioned online https://www.google.com/alerts

Anyone else notice the Adam Newman style loans to the founder in the footnotes?

" (ii) cash proceeds to our Founder in an amount of $125 million, (iii) a loan to an entity controlled by our Founder in an amount of $119.0 million, as described further below under “—Loan to our Founder,” (iv) certain transaction expenses and (v) the contribution of $87.0 million to the balance sheet of the surviving company of the Merger."


Took us 6 years being bootstrapped with a small team. Here is how it went for us:

- First 6 months: Lot of time spent building a duct tape shitty MVP but decent investment in Content Marketing early on which paid off a bit to get customers. It was never the product early on. It was always the Marketing.

- 1st 2 years, I had no clue what I was doing. I was very lazy though so didn't really go with an execution plan. Did it slow. Lot of trial and error. Tried to sell to whoever I could. Made lot of mistakes. Just a couple of freelancers to help.

- 3rd year. Started seeing some patterns on good/ideal vs non qualified customers. Got more serious about going with a better execution strategy. Hired first full time CTO with revenue from the company (not enough but just about to pay him). Rebuild product based on all the learnings till now. Stopped trying to sell to everyone and tried to narrow our market and focus.

- Year 4-5: Team expansion. Hired a bunch of full time people. Hired first Sales person on the team. Pivoted our Target market but finally figured out our ICP (Ideal Client Profile). Invested a bit more in Product development and Marketing/Sales.

- Year 6+: More team expansion which got us to about 15 full-time and some part time/freelancers. Invested more in Customer Success. ICP is solid and trying to grow further by setting outbound sales channels instead of just inbound so far. The "engine" is almost setup with Sales/Marketing/Technology/Customer Support etc etc and now looking for further growth.

I would say the key drivers have been:

- Figuring out WHO really should be your customers ? You cannot sell to everyone.

- Once you figure out your ideal customers, then you focus on improving Marketing and Sales around it. For SAAS companies, Content Marketing/Organic/Inbound is always the key but never discount Outbound (which I still stuck at btw).

- Customer retention and upsells are very important. We increased revenue with existing clients by upselling in many cases. Beauty of that it is a lot easier to sell to existing clients than new prospects.

- Partnerships with other professionals in the industry. We are not quite there yet formally but have built relationships with lot of industry experts who send us business from time to time.

- Understand your strengths and weaknesses compared to competitors. Double down on strength and acknowledge your weakness. Don't try to fix everything.

- Most importantly, track everything and learn from it as much as possible. It is hard early on but as you mature as a company, put systems and processes in place to measure and track everything. Then use the results to pivot/optimize/change as needed.

Good luck!!

EDIT: I am always looking for hungry and motivated people to join our team in any area (Sales, Tech, Marketing, Customer success). Hit me up if you want to chat.


I'm working on a site called textmyapi.com (site's not up yet). It's a little SaaS platform that allows you to quickly define commands that can be sent over text messaging to invoke REST APIs. I got the idea when I was out camping and wanted to get some stats from an API that I had but I didn't have great internet connectivity, so I thought it would be fun to wire up my APIs so that I could hit them via text message instead of through a web interface.

I'm about 90% code complete with the MVP, would be fun to find someone else who is interested in this kind of stuff (preferably US based) and might want to help work on expanding the functionality or coming up with other interesting things to do with it.

Platform is React, Node, PGSQL.

my contact info is: recurry AT outlook DOT com


https://www.forbes.com/advisor/loans/recourse-loans-vs-non-r...

Home mortages are recourse loans in all but 12 states (Alaska, Arizona, California, Connecticut, Idaho, Minnesota, North Carolina, North Dakota, Oregon, Texas, Utah and Washington).


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: