acutesoftware
If the algorithm simply says "sort by most recent", then it is pretty good.
It is the profit driven algorithms that are doing the damage.
This right here is the key difference! Yes anyone can vibe code a replacement for many apps - but will it still run 2 years later (assuming they get it 'running' in an prod environment at all
If the 'source information' cannot be linked to a person in the organisation, then it doesnt really belong in the RAG document store as authorative information.
The real lightbulb moment is when you realise the ONLY thing a RAG passes to the LLM is a short string of search results with small chunks of text. This changes it from 'magic' to 'ahh, ok - I need better search results'. With small models you cannot pass a lot of search results ( TOP_K=5 is probably the limit ), otherwise the small models 'forget context'.
It is fun trying to get decent results - and it is a rabbithole, next step I am going into is pre-summarising files and folders.
I open sourced the code I was using - https://github.com/acutesoftware/lifepim-ai-core
https://github.com/acutesoftware/lifepim-ai-core
Only been public a few days, so please let me know if there are glaring issues.
LangChain has the embeddings for major providers:
def build_vectorstore(docs):
"""
Create vectorstore from documents using configured embedding model.
"""
# Choose embedding model
if cfg.EMBED_MODEL.lower() == "openai":
embeddings = OpenAIEmbeddings(model="text-embedding-3-small")
elif cfg.EMBED_MODEL.lower() == "huggingface":
from langchain_community.embeddings import HuggingFaceEmbeddings
embeddings = HuggingFaceEmbeddings(model_name="sentence-transformers/all-MiniLM-L6-v2")
elif cfg.EMBED_MODEL.lower() == "nomic-embed-text":
from langchain_ollama import OllamaEmbeddings
embeddings = OllamaEmbeddings(model=cfg.EMBED_MODEL)And this is what is causing the friction against LLM's (which are quite useful for getting up to speed with a new concept / language ), the programming itself is the fun bit - I still want to do that bit!
I would be wary investing time in learning / using any new products from them.
I am really pleased they continue to work on this - it is a lot of work, but it needs to be done and checked manually, once done the base stuff shouldn't change much and it will be a great common sense check for generated content.
Yes you can - just save them locally?
Very low frequency updates mainly about information management and data.
Most popular article was "What software will you trust when you get senile?" - https://www.lifepim.com/blog/5856_What_software_will_you_tru...
A nice next step or addition would be to take the results and remesh them to lower poly models so it can be used in a game engine to walk around in.
2. AI will improve and showcase several new cool 'tricks' but commercially it will continue to focus on guiding users to watch more ads.
3. An increase in the number of streaming media services will make the average user realize they need to pay quite a lot money to 'watch stuff' - either a new unified package will appear for a reasonable price, or piracy will increase.
I'd love to see a schematic exported or even shown as you press simulate (you clearly have it the components and links in memory somewhere to do the simulation). This would be great for debugging.
Swarm Simulator ( https://www.swarmsim.com/ ) breed bugs, eat meat, consume universe
It is nice to have a baseline of materials in an open accessible form.
Best parts are the engine sound under load, slight delay when opening throttle and changing down a gear to force engine braking.
It started off with great features, but really difficult to use (for non artists), yet has gotten much better over time.
The number of features grows faster than I can think of uses for them, but it is nice to know they are there.
Though I do have a good habit of checking messages and emails every hour, so it isn't that bad for others. (Desktop is different, teams / slack is on all the time with popups).
Hardware Summary
sudo lshw -short
Get the total disk space left and summary of folder usage df -h .; du -sh -- * | sort -hr
Simple partition summary lsblk
What version of Linux are you running uname -a
> Linux TREEBEARD 4.4.0-98-generic #121-Ubuntu SMP Tue Oct 10 14:24:03 UTC 2017
x86_64 x86_64 x86_64 GNU/Linux
lsb_release -a
> Distributor ID: Ubuntu
> Description: Ubuntu 16.04.4 LTS
> Release: 16.04
> Codename: xenial
What flavour of Ubuntu are you running (see https://itsfoss.com/which-ubuntu-install/ )
cat /var/log/installer/media-info
> Unity
How long has the PC been running uptime
> 23:09:26 up 61 days, 8:28, 1 user, load average: 0.82, 0.48, 0.34
Count files in folder and sub folders find . -type f | wc -l
### Files and FoldersGet a tree view of subfolders
ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/'
Find the most recently used files including all subdirectories find . -type f -mtime -7 -print0 | xargs -0 ls -lt | head
Find string in all files (example searchs logs for Exception) find /var/log/www.lifepim.com -type f -print0 2>/dev/null | xargs -0 grep --color=AUTO -Hn 'Except' 2>/dev/null
Find a string 'blah' in all files with recursive (deep) search from current folder '.' grep -Rnw '.' -e 'blah'
Limit above search to only .html files grep -Rn --include=*.html '.' -e 'blah'
### ProcessesList all processes
ps -ef
Show a tree of processes pstree
Find the processes I am running ps -u duncan
Get list and PID of specific processes (eg python) pgrep -a python
Show all processes and usage top
htop (will need to run sudo apt install htop first)
### NetworkGet IP Address and network details
/sbin/ifconfig
See list of PC's on the network arp -n
ip -r neigh
nmap -sA 192.168.1.0/24
Lookup name of IP Address nslookup 162.213.1.246
> Non-authoritative answer:
> 246.1.213.162.in-addr.arpa name = wssa.beyondsecurity.com.
Get the IP address of a domain name host www.acutesoftware.com.au
> acutesoftware.com.au has address 129.121.30.188
Show the routing table
route
Port scanning nmap
### Shell tips
Show top commands from your shell history
history | awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' | sort -rn | head
35 cat
25 awk
18 pwd
15 ls
14 cd
### Data CollectionDownload a file
wget http://www.acutesoftware.com.au/aikif/AIKIF-Overview.jpg
Download a site for offline reading wget --recursive --page-requisites http://www.acutesoftware.com.au/cont_articles.html
### Data extractionGet a list of URLs from a html file (like an exported list of Chrome bookmarks)
grep -Eoi '<a [^>]+>' source.html | grep -Eo 'HREF="[^\"]+"' | grep -Eo '(http|https)://[^/"]+' > urls.csv
Grep log files cat /var/log/www.lifepim.com.access.log | grep "POST" # number of posts to lifepim
cat /var/log/www.lifepim.com.access.log | grep "login" | wc -l # number of login page accesses
awk '{print $1}' /var/log/www.lifepim.com.access.log | sort | uniq -c # count per IP address
awk '{print $7}' /var/log/www.lifepim.com.access.log | uniq # list of pages accessed
cat /var/log/www.lifepim.com.error.log | grep "Exception" | uniq # list of exceptions
awk '{print $11}' /var/log/www.lifepim.com.access.log | sort | uniq -c | grep -v "lifepim" # count by referrers
1 "https://newsbout.com/id/19184625381"
1 "https://umumble.com/links/156005/what-software-will-you-trust-when-you-get-senile%3F"
1 "https://www.producthunt.com/ask/616-what-s-the-best-personal-knowledge-base"
Looping through list of gz files and grepping for blog hit count for i in /var/log/www.lifepim.com.access*.gz
do
echo -n "Checking zipped logfile $i - "
zgrep '/blog/' "$i" | wc -l
done
Checking zipped logfile /var/log/www.lifepim.com.access.log.2.gz - 45
Checking zipped logfile /var/log/www.lifepim.com.access.log.3.gz - 112
Checking zipped logfile /var/log/www.lifepim.com.access.log.4.gz - 92
Checking zipped logfile /var/log/www.lifepim.com.access.log.5.gz - 62
Checking zipped logfile /var/log/www.lifepim.com.access.log.6.gz - 64
Checking zipped logfile /var/log/www.lifepim.com.access.log.7.gz - 85
Checking zipped logfile /var/log/www.lifepim.com.access.log.8.gz - 213
Checking zipped logfile /var/log/www.lifepim.com.access.log.9.gz - 80
### Date and TimeDisplay Annual Calendar for current year
cal -y
Show the current date in ISO format ( yyyy-mm-dd ) echo $(date -I)
Store the current date / time as string in a bash variable DATE=`date '+%Y-%m-%d %H:%M:%S'`
echo $DATE
### SQL tipsShow table size of selected tables in a schema
SELECT table_name as 'Database Name',
sum( data_length + index_length ) as 'Size in Bytes',
round((sum(data_length + index_length) / 1024 / 1024), 4) as 'Size in MB'
FROM information_schema.TABLES where table_name like 'as_%' or table_name like 'sys_%'
GROUP BY table_name;
Get a list of column names for a table select * from information_schema.columns where table_name = 'as_task';
Show usage in log file grouped by date select DATE_FORMAT(log_date, '%Y-%m'), count(*) from sys_log group by DATE_FORMAT(log_date, '%Y-%m') order by 1;
Show usage by user_id and date select log_date, user_id, count(*) from sys_log group by log_date, user_id order by log_date;
Show users by week select WEEK(log_date), max(log_date) as date_until, count(*) as num_user_actions,
count(distinct user_id) as active_users_this_week from sys_log
where DATE_FORMAT(log_date, '%Y-%m') > '2018-05-05' group by WEEK(log_date) order by 2;Sometimes you just want to code and see if you can recreate BLAH for yourself.
My oddest program was called 'heater' - it variable settings from warm -> hot and would peg the CPU at different rates (at the time I was in an unheated office, and rather than go buy a heater - I did what all programmers do and re-invent the wheel)
Programming is fun!
I won't be trying it out.