skysight-inc/HackerNews huggingface dataset:
I've done a good bit of CUDA and OpenCL. I haven't dug into this GCC implementation, but my guess is that you're banned from using any features that require sophisticated runtime support (like exceptions or RTTI). Things like templates, which are a compile-time mechanism, should work fine.

Also, you still have the usual nasty issues of the GPU having a separate memory space from the CPU. This is just a code generation backend; not some transparent GPU system model for C/C++.
Excellent article. Key take-away: "There is no amount of money an owner could pay an employee within the economics of a small business to allow their employee to live within the borders of the city or even within a reasonable radius that doesn’t have them traveling for two-plus hours a day to come to work. This is the reality of where we live."
Zen and the Art of System Monitoring
I am Leary of Amazon because of the potential for sudden ruinous expenses. I looked over digital ocean and they say they are working on kubernetes but I don’t see how block storage is going to make it work. I’m just developing this on my home server for now. I’m just trying to learn the basics. Seems like cluster computing isn’t something that can be roll your own like ordinary docker can be.

Thanks for the lead though.
Thank you! What kind of personal projects could a beginner (recent electronics graduate, with little knowledge of FPGA) hack with FPGA that would be valuable:

1- In terms of skills learned?

2- To increase her attractiveness in the job market?
With stateless services, forwarding requests to underlying storage and serialization can dominate resource consumption. After all, some services will do little besides fetch the right content and transform the data somehow.

Addressing this requires caching data in memory while making sure those caches are also disjoint so that you fully utilize your cluster memory. This has driven Google (and others) to make some services semi stateful and build dynamic sharing infrastructure to make this easier [1].

[1] https://ai.google/research/pubs/pub46921
Initially, in 2015, they were talking about ~6-7 Gbps [1] but my guess is that the current design allows for a little bit more of throughput (8 beams @ 1 GHz/beam (max. BW) x 2 bps/Hz (?) -> 16 Gbps (?)). In any case, I would say this is a technology demonstrator satellite.

I think that their main innovation might be the software to optimally allocate power, bandwidth, spectrum, and pointing and shape of each beam so that throughput/revenue /"quality of service" is maximized, which might be run on the ground and then the "instructions" sent over the TT&C link to the satellite. I doubt that the spacecraft has the autonomy level required to conduct all these tasks onboard.

[1] https://spacenews.com/eutelsat-esa-taking-a-quantum-leap-tow...
There is Manticore Search (https://github.com/manticoresoftware/manticoresearch) - it's a fork of Sphinx - written in C++, not based on Lucene library. (disclaimer: I was/am involved in both projects)
A database parser, is not AI, it is a parser. when a script, compares realworld cause effect relationships to database parses then rewrites the database to accurately resemble real life this is the beginning of AI. learning is an aspect of intelligence and they both feedback to eachother in a less than simple manner. i think Machine Learning is the glimmer of the holygrail being glimpsed.
I have 'usb' aliased as my main USB's directory.

Making 'cd' more explicit:

cd ( ) {
builtin cd "$@"
echo "$OLDPWD -> $PWD"
}

Up directory

alias ..='cd ../'

This one I use to find bits in my favourite books/essays, which I have in folders in /books, under e.g. /books/Shakespeare/Macbeth, then search with 'book to be or' etc.

book () {
# Find occurrences of words in texts. Put folders in ~/books, or soft links (ln -s)
# Displays only complete words found, not parts of words.
GREP_COLOR=red
grep -r -n -i --word-regexp --color -C 1 "$*" ./books/
echo `grep -r -i "$*" ./books/ | wc -l` occurrences of \"$*\" found, `grep -i -r --word-regexp "$*" ./books/ | wc -l` as a whole word.
}

'dlm' downloads mp4 file from URL in clipboard

#!/bin/bash
#dlm - download mp4 from clipboard URL. usage: 'dlm myfile' downloads myfile.mp4
#with resume after 5 secs until finish.
fname=$(pbpaste)
echo "Download $fname as $1.mp4 : "
until curl -C - -kLo $1.mp4 "$fname"
do
sleep 5
done
Thanks for following up. It's definitely a hard problem to solve. I've considered just writing whatever expression I want to learn on an ipad with an apple pencil, then figuring out some nice way to pipe that into my SRS.
More work put into implementation, better (more optimized) libraries, some additional functionality that lets you do things faster in some circumstances. Cuda doesn't have to care about anything but nvidia gpus, opencl needs to run on anything.
alias lcoate=locate

alias ll="ls -l"

alias ..="cd .."

alias ...="cd ../.."

alias mdd='mkdir $(date -I)'

alias cdd='cd $(date -I)'

alias xt="xtermset -T "

alias dtail="dmesg|tail"
There are currently no manned vehicles capable of that trip. Probably the closest thing on the horizon is SpaceX’s BFR/Starship, which is proceeding at an amazingly fast pace, but no way is it ready to go in a year.
Chrome Dino source code
This is a very good technique, which we point out in our video to investors:

https://www.youtube.com/watch?v=UJfEffq0Yig#t=6m40s
Do you mean something that's not validated by the compiler, or explicit unwrap/panic calls?
I love that it was "so lame" and "useless" that Netscape Mosaic didn't have a print option in v0.9beta for Windows. Because obviously your gonna wanna print! Ah how times have changed. I don't even own a printer.
That’s senior engineer salary in most of Western Europe, and the vast majority of the rest of the world has significantly lower salaries than Western Europe.
Skip to 8:15 if you want to hear the interview.
Check the comments. This is pretty light on actual content.
You will probably want to skip to ~8 mins in.
For Timidity in Linux, though, I find myself relying on eawpats ( https://www.doomworld.com/idgames/sounds/eawpats ). It doesn't require that the simple Timidity support in things like SDL_mixer understand soundfonts, and I like the old GUS sound more.
I don't see how or why the employer should care how long their employees commute is it is incumbent on the employee to make the decision if the commute is worth it. Maybe people would prefer a 2 hour commute to a place where they can make $80k/year, over working 10 minutes from home and only being able to make $35k/year.
Is there any chance Whatsapp the company will try to take this down and if they do is there any chance it might survive?

Whatsapp has been notorious for taking down third party APIs and any tools that allow message automation.
I Was Bullied in High School for Getting Good Grades and Being Quiet: My Story
This article has a lot of incorrect information in it, specifically how it alludes to this being the first of its kind.

"Quantum's coverage, bandwidth, power and frequency can all be altered in orbit."

All of those can be configured on several different modern satellites.

"It will bring unprecedented flexibility to our customers, allowing for in-orbit payload re-configuration and taking customisation to a new level, while also opening the way to a paradigm shift in the manufacture of telecommunications satellites,"

There is nothing this satellite does that's more customizable than others, such as mexsat from 2010:

https://boeing.mediaroom.com/2010-12-20-Boeing-to-Build-3-Sa...

"The components and technologies that enable software-defined satellites will become more and more the future of our industry,"

There is a trend towards the opposite, since space resources are a precious resource, allocating a substantial portion of the spacecraft for signal processing makes the bandwidth demand gap fall behind faster.
As the Lion Air crash showed too much safety can kill you.
What is your definition of "raw RF"? To me that sounds like you mean upconverted baseband/IF, and in that case most SDRs output "raw RF".
mcd(){ mkdir "$1"; cd "$1"; }
alias vd='vim -d' # vimdiff
alias grep=egrep
It would help if the opening paragraph explained what this "SPA-shower" is and what makes it "smart".

Also, it's probably a "spa", no?
put it into a waveguide
Zsh function to create a directory and cd into it in one go:

function mkcd() { mkdir -p "$@" && eval cd "\"\$$#\""; }
You can make your own reagents if you want to do sequencing reactions on this. It's not inconceivable.

It's not necessary even to do sequencing. These systems are at their heart a general purpose microfluidic system, temperature controlled flowcell with high throughout fluorescence imaging capabilities. You can do a hell of a lot of stuff with that feature set.
So you want to be a Python expert?
I was using Creative SoundBlaster's 8MBGMSFX with Terra Nova: Strike Force Centauri and I found some samples to be way too loud. Popped in FatBoy and the title music sounds fantastic.
Anyone notice a theme here?

Every failure of google has something to do with the fact that they're automating so far that it ends up being downright harmful. Youtube, Google Pay, Google Cloud, etc

I've even heard of similar stories about using Google Cloud, where the system can flag your account and basically your entire business is deleted due to an automated process!

https://medium.com/@serverpunch/why-you-should-not-use-googl...

Though they seem to have reigned that in a bit here: https://www.theregister.co.uk/2018/07/18/google_cloud_platfo...

I get the feeling in the short term they'll double-down on automation/AI until it's good enough nobody notices.

I wonder if they have a pulse on how their businesses are suffering because of that perception, though. When your company has a stigma of it being nearly impossible to reach a human being to get things done - is it really a surprise that my colleagues and I won't recommend google cloud as a service provider?
I'm not sure that it is just lack of interest in commercialisation, though that does exist.
I think that the academy and industry work in different scale.
In the industry low risk short term project have high value.
The academy aims for novelty which usually means high risk and longer terms.
Companies that aim to high risk longer term are usually either start up that that project is their core or large companies that can afford failing 9 out of 10 projects and have the benefit form the others to return the investment in 5 years.
Veganism: An Engineer's Perspective
Explicit unwrap/panic calls, as well as some numerical operations (in debug mode) that will panic on overflow. Indexing into arrays/slices outside bounds will also panic.

This was in response to the point that Go panics, and I didn't think it was perfectly fair to use that as an example (I have others that I would use) since Rust also panics in similar situations.
I very much agree about the "on-ramp" aspect. With very capable FPGAs having low-cost entries (comparatively), and even some open source synthesis tools available, the future of people being able to pick this stuff up purely out of curiosity is starting to look good.

I've made some effort in the past to put together materials for an "on ramp," but at the time Project IceStorm wasn't a thing. The best I could offer was just simulation. Not being able to build something physical doesn't generate much motivation.

Things are definitely different now, and I'm thinking about revisiting the topic. I need to survey what's out there already though.
> I care about federation, scalability, robustness, access to past messages (history, as you put it) and disconnected operation (e.g., access missed messages on reconnect)

Apart from federation you’ve described Slack.

Neither IRC nor Jabber give it to you out of the box. Slack does.
You can get a decent-sized cluster running free for a bit with Kubernetes Engine in Google Cloud, using the initial credits they give you. The cluster will shut off when the credits do expire.
The very subject of this article is why the employer should care. Ethically the owner has no requirement to care. When you can’t find people willing to make the commute then you’ve found when the employer should care.
It's not faster from what I've heard. It just has more libraries around it.
Tom Waits has such a unique guttural sound, I can't get enough of it. Daniel Durchholz said of his voice: "it was soaked in a vat of bourbon, left hanging in the smokehouse for a few months, and then taken outside and run over with a car".

https://www.youtube.com/watch?v=qZS-B1Afc1c
The one I use most often is undoubtedly `g` for `git`. Then I have many aliases inside Git for all kinds of regularly done things, quite a few lifted from Mercurial and then extended; some just shorter names (ci = commit, glog = log --graph) and some more advanced like these three:

fixup = "!f() { TARGET=\"$(git rev-parse \"$1\")\"; shift; git commit --fixup=\"$TARGET\" \"$@\" && git -c core.editor=true rebase --interactive --autostash --autosquash \"$TARGET^\"; }; f"
in = "!f() { case \"x$1\" in x-*|x) branch=;; *) branch=\"$1\"; shift;; esac; git glog \"$branch..$branch@{upstream}\" \"$@\"; }; f"
out = "!f() { case \"x$1\" in x-*|x) branch=;; *) branch=\"$1\"; shift;; esac; git glog \"$branch@{upstream}..$branch\" \"$@\"; }; f"

My most recent addition to my shell profile (a couple of weeks ago) enhances ts from the moreutils package. ts provides timestamps (relative to process execution or absolute) at the start of each line of stdout. My enhancement makes it cover stderr as well, so that stdout lines get a green timestamp and stderr lines get a red timestamp. Due to how interlacing works, and the fact that I commonly pair this with concurrency in the form of `make -j8`, it’s not perfect (can end up with a line possessing both green and red timestamps, and then none on the next line), but it’s still really helpful. I just need to get round to adding something to it to make programs still colour their own output. `script` can do that, I think.

It’s currently this shell function:

ts-fancy() {
((("$@" 2>&1 1>&3 3>&-) | ts -s "^[[91m[%H:%M:%.S]^[[m") 3>&1 1>&2) | ts -s "^[[92m[%H:%M:%.S]^[[m"
}

(Each ^[ shown there is a literal ␛.) ts-fancy was the temporary name I gave it at first, haven’t renamed it to anything more permanent yet, so it’ll probably stay that way forever.

Usage, `ts-fancy make -j8 --keep-going` and things like that. It’s proving really helpful when figuring out what’s slow in something that verbosely logs, and also in highlighting error output mixed in with normal output.

This exercise made me wish for a smarter terminal that kept track of timestamps and whether output went to stdout or stderr itself (at the character level, even, to resolve the problems of this line-based approach). I shouldn’t have to do this, and you know how often you think after the fact that it’d be nice to have timestamps?
gc="git commit -m"
If that were the case, then restaurant owners wouldn't have much trouble finding staff, right?
Yes this is very similar to my workflow. I have pretty much given up on finding a "powerful but small" laptop because I realised that this type of machine is also guaranteed to suffer from thermal throttling
alias vim='emacs'
Ironically, IRCCloud does everything what Slack is hated for: inline images and gifs, electron/browser-based client, closed source, paid subscriptions...
> You'd usually write HLSL to target DXBC which is then compiled to GCN by the AMD driver.

Why not target SPIR-V for Vulkan driver?
Insane Numbers Behind Cycling's Most Masochistic Race
Looking at the screencap - why is 'td' so laggy?

There's a perceptible delay of what looks like at least a second when replying to almost all commands.
This is obviously extreme, but we're in an extreme situation here. Vote with your feet and get out of the city, move away from the Bay. Only once the upper middle class feels some pain will anything be done about it. Until then, it's not their problem, they can work around it thanks to the flexibility wealth affords you. I don't see how else this will be fixed, it has to get much worse before it gets any better.
I work at a company with micro services so we have a lot of repos. We use nodejs and in some cases use different node versions among different services. Having the prompt show what branch I'm in and what node version I'm on is quite helpful:

PS1="\[\033[01;31m\]Node \`node --version\`: \[\033[01;32m\]\`pwd\` \`git status -sb 2> /dev/null | head -n 1\`\n\[\033[01;34m\]\`date +'%a, %B %-d, %-l:%M:%S%P'\` \[\033[01;31m\]\$ \[\033[00m\]"

Pruning branches both remote and locally are also very helpful to do in these alias/functions:

function gitpruneremote {
git remote prune origin
}

function gitprunelocal {
git branch -r | awk '{print $1}' | egrep -v -f /dev/fd/0 <(git branch -vv | grep origin) | awk '{print $1}' | xargs git branch -D
}

Git pulling in every repo:

function gitpullall {
cd ~/yourCodeDir
find . -type d -depth 1 -exec git --git-dir={}/.git --work-tree=$PWD/{} pull \;
}

This one is simple, and was useful in my LAMP dev days, to tail apache logs with line breaks formatted:

function tailerr() {
tail -f /path/to/errorlog | sed 's/\\n/\n/g'
}
> Offering low-volume non-customer-facing free access to a product like this would likely make everyone here quite happy.

I suspect that one reason they're not doing that is to prevent spambots. This is probably a valid concern, as experience as shown that preventing spam is a hard problem.
Seems that those 8 beams can be further subdivided in different spot beams (not sure how many subdivisions are possible though). Also, a previous article [1] mentions that they are actually limited to a maximum of 1 GHz/beam (I understand each of the 8 beams is limited to 1 GHz).

My impression is that this is more of a tech demonstration satellite (to test the new payload, resource management software, etc) rather than an actual commercial satellite, as the total throughput seems to be much lower than state-of-the-art spacecraft from other companies.

[1] https://spacenews.com/eutelsat-adding-two-more-quantum-satel...
It used to be on par on nv hardware. Then nvidia just stopped improving their OpenCL backend.

Otherwise assuming no fancy features are used they are identical in their programming model.
I have the same exact aliases but they check for a Git or SVN repo and then use the right tool accordingly.

I also have `..`, but also `...` which maps to `cd ../..`
alias ..="cd .."

If you use zsh, typing a directory name changes to it automatically. It’s almost always a very delightful thing.
This one is pretty useful!

Open current OSX Finder directory in Terminal:

cdf () {
target=`osascript -e 'tell application "Finder" to if (count of Finder windows) > 0 then get POSIX path of (target of front Finder window as text)'`
if [ "$target" != "" ]
then
cd "$target"
pwd
else
echo 'No Finder window found' >&2
fi
}
All 51,000 agents should stay home for one week and bring the country to a grinding halt.

That would result in some progress from Congress.
Good point on free wireless being surprising. Actually, the relative cruddiness of google searches surprises me. I remember the days of searching 3+ search engines and cross compiling bookmark lists. It took a while. Sometimes you would find very nicely combined information and links in a website and learn a lot. Now it’s more like every search has been spammed with SEO’d posts in search of traffic and ad revenue. If your search is too unique or just too nuanced from an SEO’d search your search will be effectively worthless. Google might even be incentivized to mute your search.

Product life cycles seem to be more fickle. You used to be able to find a year or two older model for cheaper. Now, new models effectively replace old models. Actually, online stores feel very concentrated.
Good work. As someone who has dabbled a bit in Python scraping and forms, I can appreciate the amount of work that must have gone into this.
Oh! I completely misread that. Thanks for clarifying.
I have a whole repository also including several dotfiles that I maintain for already several years [1].
Following are some snippets from the dotfiles/.alias and dotfiles/.functions files from that repository that probably are the most interesting and which I am using on a regular basis:

# easier navigation
alias ..="cd .."
alias ...="cd ../.."
alias ....="cd ../../.."
alias .....="cd ../../../.."
alias ~="cd ~"

# Get current public ip address
alias ip="dig +short myip.opendns.com @resolver1.opendns.com"

# Alias for summing a column
alias mksum="paste -sd+ - | bc"

# Export pbcopy / pbpaste to linux
if [[ "${OSTYPE}" == "linux"* ]]; then
alias pbcopy="xclip -selection clipboard"
alias pbpaste="xclip -selection clipboard -o"
fi

# create a new directory and enter it
function mkd() {
mkdir -p "$@" && cd "$_";
}

# plot stuff directly from the command line.
# Example: seq 100 | sed 's/.*/s(&)/' | bc -l | plot linecolor 2
# -> Generate 100 numbers, wrap it in s(<num>) and calc sin(<num>)
function plot() {
{ echo 'plot "-"' "$@"; cat; } | gnuplot -persist;
}

# wrapper for easy extraction of compressed files
function extract () {
if [ -f $1 ] ; then
case $1 in
*.tar.xz) tar xvJf $1 ;;
*.tar.bz2) tar xvjf $1 ;;
*.tar.gz) tar xvzf $1 ;;
*.bz2) bunzip2 $1 ;;
*.rar) unrar e $1 ;;
*.gz) gunzip $1 ;;
*.tar) tar xvf $1 ;;
*.tbz2) tar xvjf $1 ;;
*.tgz) tar xvzf $1 ;;
*.apk) unzip $1 ;;
*.epub) unzip $1 ;;
*.xpi) unzip $1 ;;
*.zip) unzip $1 ;;
*.war) unzip $1 ;;
*.jar) unzip $1 ;;
*.Z) uncompress $1 ;;
*.7z) 7z x $1 ;;
*) echo "don't know how to extract '$1'..." ;;
esac
else
echo "'$1' is not a valid file!"
fi
}

[1] https://github.com/NewProggie/Dev-Utils
I have a motor control IC. I look for robot manufacturers and read their company websites for contact info. I call or email them to schedule a presentation. Some say OK. Some don’t . This is just basic cold calls.

Maybe someone can be so good, majority of leads end up buying the motor IC. But 4% of response is quite high in my experience.
Used to work primary using docker on my laptop, but been working on some bigger applications that need to be run on beafier machines, so just set environment variable and have these:

$ cat ~/bin/docker
#!/bin/bash

if [ "$DOCKER_HOST" != "" ]
then
HOST_ARG="-H $DOCKER_HOST"
fi

/usr/bin/docker $HOST_ARG $@

$ cat ~/bin/docker-compose
#!/bin/bash

if [ "$DOCKER_HOST" != "" ]
then
HOST_ARG="-H $DOCKER_HOST"
fi

/usr/local/bin/docker-compose $HOST_ARG $@
Small business owners do care about the health and happiness of their employees. But even if we pretend for a moment that they do not, it's a threat to the business viability if workers cannot afford to live within a reasonable commute. If rents continue to outpace wages, those workers will eventually leave the area or the industry. The article talks about the business impacts of people leaving in detail (loss of talent, reduced quality of service, direct hiring costs associated with turnover, etc).
Related question: Does anyone have a good, accessible summary article of where AI is at, what can/can't be automated, etc?